[INFO] cloning repository https://github.com/mrlcpa/zenrock-archive-hermes
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mrlcpa/zenrock-archive-hermes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrlcpa%2Fzenrock-archive-hermes", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrlcpa%2Fzenrock-archive-hermes'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c90b69c0ff20ca3a04cf2452e15b8a8419d197d3
[INFO] fixing mrlcpa/zenrock-archive-hermes against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmrlcpa%2Fzenrock-archive-hermes" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mrlcpa/zenrock-archive-hermes
[INFO] finished tweaking git repo https://github.com/mrlcpa/zenrock-archive-hermes
[INFO] tweaked toml for git repo https://github.com/mrlcpa/zenrock-archive-hermes written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mrlcpa/zenrock-archive-hermes on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mrlcpa/zenrock-archive-hermes already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2
[INFO] running `Command { std: "docker" "start" "98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/relayer/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/relayer-types/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/telemetry/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/relayer-cli/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/chain-registry/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/relayer-rest/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tools/integration-test/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tools/test-framework/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling libc v0.2.164
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling cc v1.2.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking hashbrown v0.15.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking cpufeatures v0.2.15
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]     Checking rustls-pki-types v1.10.0
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking litemap v0.7.3
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking indexmap v2.6.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking flex-error v0.4.4
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking subtle-ng v2.5.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling rustls v0.23.17
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling blake3 v1.5.4
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking winnow v0.6.20
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking constant_time_eq v0.3.1
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling peg-runtime v0.8.3
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling peg-macros v0.8.4
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking fixed-hash v0.8.0
[INFO] [stderr]     Checking rustls-native-certs v0.7.3
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling bitcoin-internals v0.2.0
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking raw-cpuid v11.2.0
[INFO] [stderr]    Compiling secp256k1-sys v0.9.2
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling moka v0.12.8
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking hex-conservative v0.1.2
[INFO] [stderr]     Checking triomphe v0.1.11
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling bitcoin v0.31.2
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking bech32 v0.10.0-beta
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking derivation-path v0.2.0
[INFO] [stderr]     Checking utf8-width v0.1.7
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking hdpath v0.6.3
[INFO] [stderr]     Checking quanta v0.12.3
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking retry v2.0.0
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking fastrand v2.2.0
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking peg v0.8.4
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling fs-err v2.11.0
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking textwrap v0.16.1
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]    Compiling ibc-relayer-cli v1.10.4 (/opt/rustwide/workdir/crates/relayer-cli)
[INFO] [stderr]    Migrating crates/relayer-cli/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking canonical-path v2.0.2
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking oneline-eyre v0.1.0
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking sdd v3.0.4
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking env_filter v0.1.2
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking scc v2.2.5
[INFO] [stderr]     Checking simple-error v0.3.1
[INFO] [stderr]     Checking env_logger v0.11.5
[INFO] [stderr]     Checking tempfile v3.14.0
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling prost-derive v0.13.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking subtle-encoding v0.5.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.7
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling serde_repr v0.1.19
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek-ng v4.1.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking zerofrom v0.1.4
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking yoke v0.7.4
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking ed25519-consensus v2.1.0
[INFO] [stderr]     Checking pin-project v1.1.7
[INFO] [stderr]    Compiling contracts v0.6.3
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling abscissa_derive v0.6.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling gumdrop_derive v0.8.1
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]    Compiling test-log-macros v0.2.16
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking tiny-bip39 v1.0.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking gumdrop v0.8.1
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking tower v0.5.1
[INFO] [stderr]     Checking opentelemetry_api v0.19.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking opentelemetry_sdk v0.19.0
[INFO] [stderr]     Checking clap_complete v3.2.5
[INFO] [stderr]     Checking opentelemetry v0.19.0
[INFO] [stderr]     Checking opentelemetry-prometheus v0.12.0
[INFO] [stderr]     Checking bytes v1.8.0
[INFO] [stderr]     Checking serde_bytes v0.11.15
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking informalsystems-pbjson v0.7.0
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking impl-serde v0.4.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking primitive-types v0.12.2
[INFO] [stderr]     Checking byte-unit v4.0.19
[INFO] [stderr]     Checking humantime-serde v1.1.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking toml_edit v0.22.22
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking bitcoin_hashes v0.13.0
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.3.0
[INFO] [stderr]     Checking tokio v1.41.1
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking prost v0.13.3
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking tendermint-proto v0.40.0
[INFO] [stderr]     Checking ics23 v0.12.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking secp256k1 v0.28.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking toml v0.8.19
[INFO] [stderr]     Checking tracing-error v0.2.0
[INFO] [stderr]     Checking test-log v0.2.16
[INFO] [stderr]     Checking color-spantrace v0.2.1
[INFO] [stderr]     Checking color-eyre v0.6.3
[INFO] [stderr]     Checking abscissa_core v0.6.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking tokio-stream v0.1.16
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking async-tungstenite v0.24.0
[INFO] [stderr]     Checking h2 v0.4.6
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v1.5.0
[INFO] [stderr]     Checking hyper v0.14.31
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking tonic v0.12.3
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking tendermint v0.40.0
[INFO] [stderr]     Checking cosmos-sdk-proto v0.26.1
[INFO] [stderr]     Checking tendermint-light-client-verifier v0.40.0
[INFO] [stderr]     Checking tendermint-config v0.40.0
[INFO] [stderr]     Checking tendermint-testgen v0.40.0
[INFO] [stderr]     Checking tendermint-rpc v0.40.0
[INFO] [stderr]     Checking tendermint-light-client v0.40.0
[INFO] [stderr]     Checking tendermint-light-client-detector v0.40.0
[INFO] [stderr]     Checking ibc-proto v0.51.1
[INFO] [stderr]     Checking ibc-relayer-types v0.29.4 (/opt/rustwide/workdir/crates/relayer-types)
[INFO] [stderr]    Migrating crates/relayer-types/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/relayer-types/src/macros.rs (3 fixes)
[INFO] [stderr]     Checking ibc-telemetry v0.29.4 (/opt/rustwide/workdir/crates/telemetry)
[INFO] [stderr]    Migrating crates/telemetry/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/telemetry/src/state.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/telemetry/src/state.rs:1103:37
[INFO] [stdout]      |
[INFO] [stdout] 1080 |         let cx = Context::current();
[INFO] [stdout]      |             --
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `cx` calls a custom destructor
[INFO] [stdout]      |             `cx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1103 |         if let Some(path_backlog) = self.backlogs.get(&path_uid) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ibc-relayer v0.29.4 (/opt/rustwide/workdir/crates/relayer)
[INFO] [stderr]    Migrating crates/relayer/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/telemetry/src/state.rs:1103:37
[INFO] [stdout]      |
[INFO] [stdout] 1080 |         let cx = Context::current();
[INFO] [stdout]      |             --
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `cx` calls a custom destructor
[INFO] [stdout]      |             `cx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1103 |         if let Some(path_backlog) = self.backlogs.get(&path_uid) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.12/src/rwlock.rs:1370:1
[INFO] [stdout]      |
[INFO] [stdout] 1370 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/relayer/src/supervisor.rs (7 fixes)
[INFO] [stderr]        Fixed crates/relayer/src/util/diff.rs (3 fixes)
[INFO] [stderr]        Fixed crates/relayer/src/channel.rs (1 fix)
[INFO] [stderr]        Fixed crates/relayer/src/telemetry.rs (2 fixes)
[INFO] [stderr]        Fixed crates/relayer/src/util/profiling.rs (2 fixes)
[INFO] [stderr]        Fixed crates/relayer/src/event/source/websocket.rs (1 fix)
[INFO] [stderr]        Fixed crates/relayer/src/connection.rs (1 fix)
[INFO] [stderr]        Fixed crates/relayer/src/object.rs (18 fixes)
[INFO] [stderr]        Fixed crates/relayer/src/link/relay_path.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos/estimate.rs:91:69
[INFO] [stdout]     |
[INFO] [stdout]  83 |       let estimated_gas = {
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]  84 | |         crate::time!(
[INFO] [stdout]  85 | |             "estimate_gas_with_tx",
[INFO] [stdout] ...   |
[INFO] [stdout]  91 | |         estimate_gas_with_tx(gas_config, grpc_address, tx, account).await
[INFO] [stdout]     | |                                                                     ^^^^^
[INFO] [stdout]     | |                                                                     |
[INFO] [stdout]     | |                                                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  92 | |     }?;
[INFO] [stdout]     | |      -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |           let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]     |               ------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `_timer` calls a custom destructor
[INFO] [stdout]     |               `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]    --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Drop for Timer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos/estimate.rs:91:69
[INFO] [stdout]     |
[INFO] [stdout]  91 |         estimate_gas_with_tx(gas_config, grpc_address, tx, account).await
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |                                                                     |
[INFO] [stdout]     |                                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  92 |     }?;
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_timer` calls a custom destructor
[INFO] [stdout]     |             `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]    --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Drop for Timer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos/query/tx.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let response = rpc_client
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `response` calls a custom destructor
[INFO] [stdout]     |         `response` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |     Ok(response.txs.into_iter().next())
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 377 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `response` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos.rs:780:10
[INFO] [stdout]     |
[INFO] [stdout] 746 |     )]
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 780 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_timer` calls a custom destructor
[INFO] [stdout]     |             `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]    --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Drop for Timer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/chain/cosmos.rs:2698:10
[INFO] [stdout]      |
[INFO] [stdout] 2698 |         .await
[INFO] [stdout]      |          ^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2701 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]      |
[INFO] [stdout]  159 |         let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `_timer` calls a custom destructor
[INFO] [stdout]      |             `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]     --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]      |
[INFO] [stdout]   72 | impl Drop for Timer {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/event/source/rpc.rs:221:23
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 match collect_events(&self.rpc_client, &self.chain_id, height).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                                        |
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       |                                                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 228 |                     Err(e) => match e.detail() {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 235 |                             sleep(delay).await;
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/event/source/rpc.rs:221:23
[INFO] [stdout]     |
[INFO] [stdout] 212 |             let mut backoff = retries_backoff(self.max_retries);
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `backoff` calls a custom destructor
[INFO] [stdout]     |                 `backoff` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                 match collect_events(&self.rpc_client, &self.chain_id, height).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                                        |
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       |                                                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 228 |                     Err(e) => match e.detail() {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 235 |                             sleep(delay).await;
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:118:50
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                 |                |
[INFO] [stdout]     | |                                 |                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                 |                up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |                 }
[INFO] [stdout]     | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |       `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/event/source/rpc.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout]  97 |             let mut backoff = poll_backoff(self.poll_interval);
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `backoff` calls a custom destructor
[INFO] [stdout]     |                 `backoff` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |                 match self.step().await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |           |
[INFO] [stdout]     |                       |           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       |           up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                             sleep(delay_remaining).await;
[INFO] [stdout]     |                             ----------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 |                         sleep(delay).await;
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 136 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/event/source/websocket/extract.rs:155:40
[INFO] [stdout]      |
[INFO] [stdout]  155 |                 if let Ok(ibc_event) = ibc_event_try_from_abci_event(abci_event) {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  169 |                         let _span = tracing::trace_span!("ibc_channel event").entered();
[INFO] [stdout]      |                             -----
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `_span` calls a custom destructor
[INFO] [stdout]      |                             `_span` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  201 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1572:1
[INFO] [stdout]      |
[INFO] [stdout] 1572 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/foreign_client.rs:1077:32
[INFO] [stdout]      |
[INFO] [stdout] 1072 | /             warn!(
[INFO] [stdout] 1073 | |                 "src header {} is after dst latest header {} + client state drift {},\
[INFO] [stdout] 1074 | |                  wait for next height on {}",
[INFO] [stdout] 1075 | |                 header.timestamp(),
[INFO] [stdout] 1076 | |                 status.timestamp,
[INFO] [stdout] 1077 | |                 PrettyDuration(&client_state.max_clock_drift()),
[INFO] [stdout]      | |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 1078 | |                 self.dst_chain().id()
[INFO] [stdout] 1079 | |             );
[INFO] [stdout]      | |_____________- borrow later used here
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/foreign_client.rs:1077:32
[INFO] [stdout]      |
[INFO] [stdout] 1072 | /             warn!(
[INFO] [stdout] 1073 | |                 "src header {} is after dst latest header {} + client state drift {},\
[INFO] [stdout] 1074 | |                  wait for next height on {}",
[INFO] [stdout] 1075 | |                 header.timestamp(),
[INFO] [stdout] 1076 | |                 status.timestamp,
[INFO] [stdout] 1077 | |                 PrettyDuration(&client_state.max_clock_drift()),
[INFO] [stdout]      | |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 1078 | |                 self.dst_chain().id()
[INFO] [stdout] 1079 | |             );
[INFO] [stdout]      | |_____________- borrow later used here
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/link/relay_path.rs:1534:31
[INFO] [stdout]      |
[INFO] [stdout] 1516 |               let elapsed_result = match target_chain {
[INFO] [stdout]      |                   --------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `elapsed_result` calls a custom destructor
[INFO] [stdout]      |                   `elapsed_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1534 |                           match self
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1535 | |                             .relay_from_operational_data::<relay_sender::AsyncSender>(od.clone())
[INFO] [stdout]      | |                                                                                                 ^
[INFO] [stdout]      | |                                                                                                 |
[INFO] [stdout]      | |_________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1547 |                       } else {
[INFO] [stdout]      |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `elapsed_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `elapsed_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `elapsed_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/supervisor/spawn.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |             match self.spawn_workers_for_channel(chain.clone(), client, channel_scan) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |                 Err(e) => error!(
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/supervisor.rs:167:31
[INFO] [stdout]     |
[INFO] [stdout] 167 |             if let Ok(_key) = chain.get_key() {
[INFO] [stdout]     |                       ----    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |       |
[INFO] [stdout]     |                       |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `_key` calls a custom destructor
[INFO] [stdout]     |                       `_key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.1.1/src/signing.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.1.1/src/signing.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/supervisor.rs:694:15
[INFO] [stdout]      |
[INFO] [stdout]  681 |         let chain = match registry.get_or_spawn(chain_config.id()) {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `chain` calls a custom destructor
[INFO] [stdout]      |             `chain` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  694 |         match chain.subscribe() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  702 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos/estimate.rs:91:69
[INFO] [stdout]     |
[INFO] [stdout]  83 |       let estimated_gas = {
[INFO] [stdout]     |  _________________________-
[INFO] [stdout]  84 | |         crate::time!(
[INFO] [stdout]  85 | |             "estimate_gas_with_tx",
[INFO] [stdout] ...   |
[INFO] [stdout]  91 | |         estimate_gas_with_tx(gas_config, grpc_address, tx, account).await
[INFO] [stdout]     | |                                                                     ^^^^^
[INFO] [stdout]     | |                                                                     |
[INFO] [stdout]     | |                                                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  92 | |     }?;
[INFO] [stdout]     | |      -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |           let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]     |               ------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `_timer` calls a custom destructor
[INFO] [stdout]     |               `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]    --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Drop for Timer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos/estimate.rs:91:69
[INFO] [stdout]     |
[INFO] [stdout]  91 |         estimate_gas_with_tx(gas_config, grpc_address, tx, account).await
[INFO] [stdout]     |                                                                     ^^^^^
[INFO] [stdout]     |                                                                     |
[INFO] [stdout]     |                                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  92 |     }?;
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_timer` calls a custom destructor
[INFO] [stdout]     |             `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]    --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Drop for Timer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos/query/tx.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 365 |     let response = rpc_client
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `response` calls a custom destructor
[INFO] [stdout]     |         `response` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |     Ok(response.txs.into_iter().next())
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 377 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `response` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/chain/cosmos.rs:780:10
[INFO] [stdout]     |
[INFO] [stdout] 746 |     )]
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 780 |         .await
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_timer` calls a custom destructor
[INFO] [stdout]     |             `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]    --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl Drop for Timer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/chain/cosmos.rs:2698:10
[INFO] [stdout]      |
[INFO] [stdout] 2698 |         .await
[INFO] [stdout]      |          ^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2701 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/relayer/src/util/profiling.rs:159:13
[INFO] [stdout]      |
[INFO] [stdout]  159 |         let _timer = $crate::util::profiling::Timer::new($name, ::serde_json::json!($info));
[INFO] [stdout]      |             ------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `_timer` calls a custom destructor
[INFO] [stdout]      |             `_timer` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_timer` invokes this custom destructor
[INFO] [stdout]     --> crates/relayer/src/util/profiling.rs:72:1
[INFO] [stdout]      |
[INFO] [stdout]   72 | impl Drop for Timer {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/event/source/rpc.rs:221:23
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 match collect_events(&self.rpc_client, &self.chain_id, height).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                                        |
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       |                                                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 228 |                     Err(e) => match e.detail() {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 235 |                             sleep(delay).await;
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/event/source/rpc.rs:221:23
[INFO] [stdout]     |
[INFO] [stdout] 212 |             let mut backoff = retries_backoff(self.max_retries);
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `backoff` calls a custom destructor
[INFO] [stdout]     |                 `backoff` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 221 |                 match collect_events(&self.rpc_client, &self.chain_id, height).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                                        |
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       |                                                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 228 |                     Err(e) => match e.detail() {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 235 |                             sleep(delay).await;
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:118:50
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                 |                |
[INFO] [stdout]     | |                                 |                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                 |                up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |                 }
[INFO] [stdout]     | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |       `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/util/stream.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | /     stream! {
[INFO] [stdout] 112 | |         let mut state: Option<State<A>> = None;
[INFO] [stdout]     | |             ---------
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `state` calls a custom destructor
[INFO] [stdout]     | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 113 | |
[INFO] [stdout] 114 | |         for await x in input {
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   `x` calls a custom destructor
[INFO] [stdout]     | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                     if let Some(mut cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]     | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]     | |                                 ---------    ---------------------
[INFO] [stdout]     | |                                 |            |
[INFO] [stdout]     | |                                 |            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                 |            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |     up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_____`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/relayer/src/util/stream.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | /     stream! {
[INFO] [stdout] 54 | |         let mut state = None;
[INFO] [stdout]    | |             ---------
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |             `state` calls a custom destructor
[INFO] [stdout]    | |             `state` will be dropped later as of Edition 2024
[INFO] [stdout] 55 | |
[INFO] [stdout] 56 | |         for await x in input {
[INFO] [stdout]    | |                   -
[INFO] [stdout]    | |                   |
[INFO] [stdout]    | |                   `x` calls a custom destructor
[INFO] [stdout]    | |                   `x` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 76 | |                     if let Some(cur_state) = mem::take(&mut state) {
[INFO] [stdout]    | |                                 ---------    ---------------------
[INFO] [stdout]    | |                                 |            |
[INFO] [stdout]    | |                                 |            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    | |                                 |            `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                                 `cur_state` calls a custom destructor
[INFO] [stdout]    | |                                 `cur_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |     }
[INFO] [stdout]    | |     ^
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |     up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     `__awaitee` calls a custom destructor
[INFO] [stdout]    | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    | |     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    | |     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    | |_____`#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |       now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/event/source/rpc.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout]  97 |             let mut backoff = poll_backoff(self.poll_interval);
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `backoff` calls a custom destructor
[INFO] [stdout]     |                 `backoff` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |                 match self.step().await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |           |
[INFO] [stdout]     |                       |           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       |           up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 120 |                             sleep(delay_remaining).await;
[INFO] [stdout]     |                             ----------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 |                         sleep(delay).await;
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 136 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.41.1/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/event/source/websocket/extract.rs:155:40
[INFO] [stdout]      |
[INFO] [stdout]  155 |                 if let Ok(ibc_event) = ibc_event_try_from_abci_event(abci_event) {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  169 |                         let _span = tracing::trace_span!("ibc_channel event").entered();
[INFO] [stdout]      |                             -----
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `_span` calls a custom destructor
[INFO] [stdout]      |                             `_span` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  201 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1572:1
[INFO] [stdout]      |
[INFO] [stdout] 1572 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ibc-relayer-rest v0.29.4 (/opt/rustwide/workdir/crates/relayer-rest)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/foreign_client.rs:1077:32
[INFO] [stdout]      |
[INFO] [stdout] 1072 | /             warn!(
[INFO] [stdout] 1073 | |                 "src header {} is after dst latest header {} + client state drift {},\
[INFO] [stdout] 1074 | |                  wait for next height on {}",
[INFO] [stdout] 1075 | |                 header.timestamp(),
[INFO] [stdout] 1076 | |                 status.timestamp,
[INFO] [stdout] 1077 | |                 PrettyDuration(&client_state.max_clock_drift()),
[INFO] [stdout]      | |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 1078 | |                 self.dst_chain().id()
[INFO] [stdout] 1079 | |             );
[INFO] [stdout]      | |_____________- borrow later used here
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ibc-chain-registry v0.29.4 (/opt/rustwide/workdir/crates/chain-registry)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/foreign_client.rs:1077:32
[INFO] [stdout]      |
[INFO] [stdout] 1072 | /             warn!(
[INFO] [stdout] 1073 | |                 "src header {} is after dst latest header {} + client state drift {},\
[INFO] [stdout] 1074 | |                  wait for next height on {}",
[INFO] [stdout] 1075 | |                 header.timestamp(),
[INFO] [stdout] 1076 | |                 status.timestamp,
[INFO] [stdout] 1077 | |                 PrettyDuration(&client_state.max_clock_drift()),
[INFO] [stdout]      | |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 1078 | |                 self.dst_chain().id()
[INFO] [stdout] 1079 | |             );
[INFO] [stdout]      | |_____________- borrow later used here
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/link/relay_path.rs:1534:31
[INFO] [stdout]      |
[INFO] [stdout] 1516 |               let elapsed_result = match target_chain {
[INFO] [stdout]      |                   --------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `elapsed_result` calls a custom destructor
[INFO] [stdout]      |                   `elapsed_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1534 |                           match self
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1535 | |                             .relay_from_operational_data::<relay_sender::AsyncSender>(od.clone())
[INFO] [stdout]      | |                                                                                                 ^
[INFO] [stdout]      | |                                                                                                 |
[INFO] [stdout]      | |_________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1547 |                       } else {
[INFO] [stdout]      |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `elapsed_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `elapsed_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `elapsed_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/supervisor/spawn.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |             match self.spawn_workers_for_channel(chain.clone(), client, channel_scan) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |                 Err(e) => error!(
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer/src/supervisor.rs:167:31
[INFO] [stdout]     |
[INFO] [stdout] 167 |             if let Ok(_key) = chain.get_key() {
[INFO] [stdout]     |                       ----    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |       |
[INFO] [stdout]     |                       |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `_key` calls a custom destructor
[INFO] [stdout]     |                       `_key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 170 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.1.1/src/signing.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_key` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.1.1/src/signing.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer/src/supervisor.rs:694:15
[INFO] [stdout]      |
[INFO] [stdout]  681 |         let chain = match registry.get_or_spawn(chain_config.id()) {
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `chain` calls a custom destructor
[INFO] [stdout]      |             `chain` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  694 |         match chain.subscribe() {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  702 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/crossbeam-channel-0.5.13/src/channel.rs:1150:1
[INFO] [stdout]      |
[INFO] [stdout] 1150 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/relayer-rest/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/chain-registry/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/chain-registry/src/querier.rs:65:34
[INFO] [stdout]    |
[INFO] [stdout] 65 |         while let Some(result) = futures.next().await {
[INFO] [stdout]    |                        ------    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                        |         |              |
[INFO] [stdout]    |                        |         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |         |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `result` calls a custom destructor
[INFO] [stdout]    |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 69 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/relayer-rest/tests/mock.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/chain-registry/src/querier.rs:65:34
[INFO] [stdout]    |
[INFO] [stdout] 65 |         while let Some(result) = futures.next().await {
[INFO] [stdout]    |                        ------    ^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                        |         |              |
[INFO] [stdout]    |                        |         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |         |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `result` calls a custom destructor
[INFO] [stdout]    |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 69 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/relayer-cli/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/relayer-cli/src/commands.rs (2 fixes)
[INFO] [stderr]        Fixed crates/relayer-cli/src/commands/tx/channel.rs (2 fixes)
[INFO] [stderr]        Fixed crates/relayer-cli/src/cli_utils.rs (1 fix)
[INFO] [stderr]        Fixed crates/relayer-cli/src/components.rs (1 fix)
[INFO] [stderr]        Fixed crates/relayer-cli/src/commands/tx/connection.rs (2 fixes)
[INFO] [stderr]        Fixed crates/relayer-cli/src/commands/keys/delete.rs (1 fix)
[INFO] [stderr]        Fixed crates/relayer-cli/src/commands/misbehaviour.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/config/auto.rs:143:46
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 info!("{}: uses key \"{}\"", &chain_config.id(), &key_name);
[INFO] [stdout]     |                 -----------------------------^^^^^^^^^^^^^^^^^^------------
[INFO] [stdout]     |                 |                            |
[INFO] [stdout]     |                 |                            this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/config/auto.rs:143:46
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 info!("{}: uses key \"{}\"", &chain_config.id(), &key_name);
[INFO] [stdout]     |                 -----------------------------^^^^^^^^^^^^^^^^^^------------
[INFO] [stdout]     |                 |                            |
[INFO] [stdout]     |                 |                            this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/evidence.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout] 161 |       while let Ok(event_batch) = subscription.recv() {
[INFO] [stdout]     |                    -----------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `event_batch` calls a custom destructor
[INFO] [stdout]     |                    `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                           if let Err(e) = check_misbehaviour_at(
[INFO] [stdout]     |  ____________________________________-____^
[INFO] [stdout]     | |                                    |
[INFO] [stdout]     | |                                    `e` calls a custom destructor
[INFO] [stdout]     | |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] 169 | |                             rt.clone(),
[INFO] [stdout] 170 | |                             config,
[INFO] [stdout] 171 | |                             &chain,
[INFO] [stdout] 172 | |                             key_name,
[INFO] [stdout] 173 | |                             new_block.height,
[INFO] [stdout] 174 | |                         ) {
[INFO] [stdout]     | |                         ^
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/evidence.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |     while let Ok(event_batch) = subscription.recv() {
[INFO] [stdout]     |                  -----------    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |              |
[INFO] [stdout]     |                  |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `event_batch` calls a custom destructor
[INFO] [stdout]     |                  `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                         if let Err(e) = check_misbehaviour_at(
[INFO] [stdout]     |                                    -
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer-cli/src/commands/health.rs:25:19
[INFO] [stdout]      |
[INFO] [stdout]   18 |             let _span = tracing::error_span!("health_check", chain = %ch.id()).entered();
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `_span` calls a custom destructor
[INFO] [stdout]      |                 `_span` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   22 |             let chain =
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `chain` calls a custom destructor
[INFO] [stdout]      |                 `chain` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   25 |             match chain.health_check() {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   34 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1572:1
[INFO] [stdout]      |
[INFO] [stdout] 1572 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer-cli/src/commands/listen.rs:110:33
[INFO] [stdout]      |
[INFO] [stdout]  110 |     while let Ok(event_batch) = rx.recv() {
[INFO] [stdout]      |                  -----------    ^^^^^^^^^
[INFO] [stdout]      |                  |              |
[INFO] [stdout]      |                  |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  `event_batch` calls a custom destructor
[INFO] [stdout]      |                  `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  113 |                 let _span =
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `_span` calls a custom destructor
[INFO] [stdout]      |                     `_span` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1572:1
[INFO] [stdout]      |
[INFO] [stdout] 1572 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/misbehaviour.rs:66:33
[INFO] [stdout]     |
[INFO] [stdout]  66 |       while let Ok(event_batch) = subscription.recv() {
[INFO] [stdout]     |                    -----------    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |              |
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `event_batch` calls a custom destructor
[INFO] [stdout]     |                    `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 | /                             misbehaviour_handling(
[INFO] [stdout]  74 | |                                 chain.clone(),
[INFO] [stdout]  75 | |                                 config,
[INFO] [stdout]  76 | |                                 update.client_id().clone(),
[INFO] [stdout]  77 | |                                 Some(update.clone()),
[INFO] [stdout]  78 | |                             )?;
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/query/channels.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout]  89 |           let connection_id = channel_end
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout]  90 | |             .connection_hops
[INFO] [stdout]  91 | |             .first()
[INFO] [stdout]  92 | |             .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |             })?
[INFO] [stdout]     | |               -
[INFO] [stdout]     | |               |
[INFO] [stdout]     | |_______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |               let (connection_end, _) = chain.query_connection(
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout]     | |_______________________________________|
[INFO] [stdout] 109 | |                 QueryConnectionRequest {
[INFO] [stdout] 110 | |                     connection_id: connection_id.clone(),
[INFO] [stdout] 111 | |                     height: QueryHeight::Specific(chain_height),
[INFO] [stdout] 112 | |                 },
[INFO] [stdout] 113 | |                 IncludeProof::No,
[INFO] [stdout] 114 | |             )?;
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |______________|
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |               let (client_state, _) = chain.query_client_state(
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout]     | |_____________________________________|
[INFO] [stdout] 118 | |                 QueryClientStateRequest {
[INFO] [stdout] 119 | |                     client_id,
[INFO] [stdout] 120 | |                     height: QueryHeight::Specific(chain_height),
[INFO] [stdout] 121 | |                 },
[INFO] [stdout] 122 | |                 IncludeProof::No,
[INFO] [stdout] 123 | |             )?;
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |______________|
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |                   match query_channel_ends(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 138 | |                     &mut registry,
[INFO] [stdout] 139 | |                     &chain,
[INFO] [stdout] 140 | |                     channel_end,
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |                     QueryHeight::Specific(chain_height),
[INFO] [stdout] 146 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |                       Ok(channel_ends) => output.push_verbose(channel_ends),
[INFO] [stdout] 148 | |                     Err(e) => error!("failed to query channel ends: {}", e),
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] 149 | |                 }
[INFO] [stdout] 150 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ibc-test-framework v0.29.4 (/opt/rustwide/workdir/tools/test-framework)
[INFO] [stderr]    Migrating tools/test-framework/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/config/auto.rs:143:46
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 info!("{}: uses key \"{}\"", &chain_config.id(), &key_name);
[INFO] [stdout]     |                 -----------------------------^^^^^^^^^^^^^^^^^^------------
[INFO] [stdout]     |                 |                            |
[INFO] [stdout]     |                 |                            this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/config/auto.rs:143:46
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 info!("{}: uses key \"{}\"", &chain_config.id(), &key_name);
[INFO] [stdout]     |                 -----------------------------^^^^^^^^^^^^^^^^^^------------
[INFO] [stdout]     |                 |                            |
[INFO] [stdout]     |                 |                            this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/evidence.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout] 161 |       while let Ok(event_batch) = subscription.recv() {
[INFO] [stdout]     |                    -----------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `event_batch` calls a custom destructor
[INFO] [stdout]     |                    `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                           if let Err(e) = check_misbehaviour_at(
[INFO] [stdout]     |  ____________________________________-____^
[INFO] [stdout]     | |                                    |
[INFO] [stdout]     | |                                    `e` calls a custom destructor
[INFO] [stdout]     | |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] 169 | |                             rt.clone(),
[INFO] [stdout] 170 | |                             config,
[INFO] [stdout] 171 | |                             &chain,
[INFO] [stdout] 172 | |                             key_name,
[INFO] [stdout] 173 | |                             new_block.height,
[INFO] [stdout] 174 | |                         ) {
[INFO] [stdout]     | |                         ^
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |_________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/evidence.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |     while let Ok(event_batch) = subscription.recv() {
[INFO] [stdout]     |                  -----------    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                  |              |
[INFO] [stdout]     |                  |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `event_batch` calls a custom destructor
[INFO] [stdout]     |                  `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                         if let Err(e) = check_misbehaviour_at(
[INFO] [stdout]     |                                    -
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 187 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer-cli/src/commands/health.rs:25:19
[INFO] [stdout]      |
[INFO] [stdout]   18 |             let _span = tracing::error_span!("health_check", chain = %ch.id()).entered();
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `_span` calls a custom destructor
[INFO] [stdout]      |                 `_span` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   22 |             let chain =
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `chain` calls a custom destructor
[INFO] [stdout]      |                 `chain` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   25 |             match chain.health_check() {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   34 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]      |
[INFO] [stdout]  590 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1572:1
[INFO] [stdout]      |
[INFO] [stdout] 1572 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/relayer-cli/src/commands/listen.rs:110:33
[INFO] [stdout]      |
[INFO] [stdout]  110 |     while let Ok(event_batch) = rx.recv() {
[INFO] [stdout]      |                  -----------    ^^^^^^^^^
[INFO] [stdout]      |                  |              |
[INFO] [stdout]      |                  |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                  `event_batch` calls a custom destructor
[INFO] [stdout]      |                  `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  113 |                 let _span =
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `_span` calls a custom destructor
[INFO] [stdout]      |                     `_span` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]      |
[INFO] [stdout]  526 | impl Drop for Report {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_span` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/span.rs:1572:1
[INFO] [stdout]      |
[INFO] [stdout] 1572 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/misbehaviour.rs:66:33
[INFO] [stdout]     |
[INFO] [stdout]  66 |       while let Ok(event_batch) = subscription.recv() {
[INFO] [stdout]     |                    -----------    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |              |
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `event_batch` calls a custom destructor
[INFO] [stdout]     |                    `event_batch` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 | /                             misbehaviour_handling(
[INFO] [stdout]  74 | |                                 chain.clone(),
[INFO] [stdout]  75 | |                                 config,
[INFO] [stdout]  76 | |                                 update.client_id().clone(),
[INFO] [stdout]  77 | |                                 Some(update.clone()),
[INFO] [stdout]  78 | |                             )?;
[INFO] [stdout]     | |                              -
[INFO] [stdout]     | |                              |
[INFO] [stdout]     | |______________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `event_batch` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/relayer-cli/src/commands/query/channels.rs:137:23
[INFO] [stdout]     |
[INFO] [stdout]  89 |           let connection_id = channel_end
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout]  90 | |             .connection_hops
[INFO] [stdout]  91 | |             .first()
[INFO] [stdout]  92 | |             .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |             })?
[INFO] [stdout]     | |               -
[INFO] [stdout]     | |               |
[INFO] [stdout]     | |_______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 108 |               let (connection_end, _) = chain.query_connection(
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout]     | |_______________________________________|
[INFO] [stdout] 109 | |                 QueryConnectionRequest {
[INFO] [stdout] 110 | |                     connection_id: connection_id.clone(),
[INFO] [stdout] 111 | |                     height: QueryHeight::Specific(chain_height),
[INFO] [stdout] 112 | |                 },
[INFO] [stdout] 113 | |                 IncludeProof::No,
[INFO] [stdout] 114 | |             )?;
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |______________|
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |               let (client_state, _) = chain.query_client_state(
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout]     | |_____________________________________|
[INFO] [stdout] 118 | |                 QueryClientStateRequest {
[INFO] [stdout] 119 | |                     client_id,
[INFO] [stdout] 120 | |                     height: QueryHeight::Specific(chain_height),
[INFO] [stdout] 121 | |                 },
[INFO] [stdout] 122 | |                 IncludeProof::No,
[INFO] [stdout] 123 | |             )?;
[INFO] [stdout]     | |              -
[INFO] [stdout]     | |______________|
[INFO] [stdout]     | |______________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |                   match query_channel_ends(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 138 | |                     &mut registry,
[INFO] [stdout] 139 | |                     &chain,
[INFO] [stdout] 140 | |                     channel_end,
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |                     QueryHeight::Specific(chain_height),
[INFO] [stdout] 146 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |_________________|
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 147 |                       Ok(channel_ends) => output.push_verbose(channel_ends),
[INFO] [stdout] 148 | |                     Err(e) => error!("failed to query channel ends: {}", e),
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] 149 | |                 }
[INFO] [stdout] 150 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tools/test-framework/src/types/env.rs (1 fix)
[INFO] [stderr]        Fixed tools/test-framework/src/util/random.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tools/test-framework/src/util/retry.rs:25:15
[INFO] [stdout]     |
[INFO] [stdout]  25 |         match task() {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  30 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  35 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ConnectedChains<impl ChainHandle, impl ChainHandle>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn bootstrap_chains_with_full_nodes<T: FnOnce(&mut Config)>(
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout] ...
[INFO] [stdout] 48 |     options: BootstrapClientOptions,
[INFO] [stdout] 49 ~     config_modifier: T,
[INFO] [stdout] 50 | ) -> Result<
[INFO] [stdout] 51 |     (
[INFO] [stdout] 52 |         RelayerDriver,
[INFO] [stdout] 53 ~         ConnectedChains<impl ChainHandle + use<T>, impl ChainHandle>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:53:43
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ConnectedChains<impl ChainHandle, impl ChainHandle>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn bootstrap_chains_with_full_nodes<T: FnOnce(&mut Config)>(
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout] ...
[INFO] [stdout] 48 |     options: BootstrapClientOptions,
[INFO] [stdout] 49 ~     config_modifier: T,
[INFO] [stdout] 50 | ) -> Result<
[INFO] [stdout] 51 |     (
[INFO] [stdout] 52 |         RelayerDriver,
[INFO] [stdout] 53 ~         ConnectedChains<impl ChainHandle, impl ChainHandle + use<T>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> tools/test-framework/src/bootstrap/binary/chain.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 | ) -> Result<impl ChainHandle, Error> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> tools/test-framework/src/bootstrap/binary/chain.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |     registry: &SharedRegistry<impl ChainHandle>,
[INFO] [stdout]     |               ^
[INFO] [stdout] 193 |     node: &FullNode,
[INFO] [stdout]     |           ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> tools/test-framework/src/bootstrap/binary/chain.rs:192:31
[INFO] [stdout]     |
[INFO] [stdout] 192 |     registry: &SharedRegistry<impl ChainHandle>,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 190 ~ pub fn spawn_chain_handle<Seed, T: ChainHandle>(
[INFO] [stdout] 191 |     _: Seed,
[INFO] [stdout] 192 ~     registry: &SharedRegistry<T>,
[INFO] [stdout] 193 |     node: &FullNode,
[INFO] [stdout] 194 ~ ) -> Result<impl ChainHandle + use<Seed, T>, Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:27:49
[INFO] [stdout]    |
[INFO] [stdout] 27 | ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle, SIZE>), Error> {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 22 ~ pub fn boostrap_chains_with_nodes<const SIZE: usize, T: FnOnce(&mut Config)>(
[INFO] [stdout] 23 |     test_config: &TestConfig,
[INFO] [stdout] 24 |     full_nodes: [FullNode; SIZE],
[INFO] [stdout] 25 |     topology_override: Option<TopologyType>,
[INFO] [stdout] 26 ~     config_modifier: T,
[INFO] [stdout] 27 ~ ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle + use<SIZE, T>, SIZE>), Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:47:49
[INFO] [stdout]    |
[INFO] [stdout] 47 | ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle, SIZE>), Error> {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 42 ~ pub fn boostrap_chains_with_self_connected_node<const SIZE: usize, T: FnOnce(&mut Config)>(
[INFO] [stdout] 43 |     test_config: &TestConfig,
[INFO] [stdout] 44 |     full_node: FullNode,
[INFO] [stdout] 45 |     topology_override: Option<TopologyType>,
[INFO] [stdout] 46 ~     config_modifier: T,
[INFO] [stdout] 47 ~ ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle + use<SIZE, T>, SIZE>), Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:70:52
[INFO] [stdout]    |
[INFO] [stdout] 70 | ) -> Result<(RelayerDriver, DynamicConnectedChains<impl ChainHandle>), Error> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 65 ~ pub fn boostrap_chains_with_any_nodes<T: FnOnce(&mut Config)>(
[INFO] [stdout] 66 |     test_config: &TestConfig,
[INFO] [stdout] 67 |     full_nodes: Vec<FullNode>,
[INFO] [stdout] 68 |     topology_override: Option<TopologyType>,
[INFO] [stdout] 69 ~     config_modifier: T,
[INFO] [stdout] 70 ~ ) -> Result<(RelayerDriver, DynamicConnectedChains<impl ChainHandle + use<T>>), Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ibc-integration-test v0.29.4 (/opt/rustwide/workdir/tools/integration-test)
[INFO] [stderr]    Migrating crates/relayer-cli/src/bin/hermes/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tools/test-framework/src/util/retry.rs:25:15
[INFO] [stdout]     |
[INFO] [stdout]  25 |         match task() {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  30 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  35 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/eyre-0.6.12/src/error.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | impl Drop for Report {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.8.0/src/bytes.rs:590:1
[INFO] [stdout]     |
[INFO] [stdout] 590 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ConnectedChains<impl ChainHandle, impl ChainHandle>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn bootstrap_chains_with_full_nodes<T: FnOnce(&mut Config)>(
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout] ...
[INFO] [stdout] 48 |     options: BootstrapClientOptions,
[INFO] [stdout] 49 ~     config_modifier: T,
[INFO] [stdout] 50 | ) -> Result<
[INFO] [stdout] 51 |     (
[INFO] [stdout] 52 |         RelayerDriver,
[INFO] [stdout] 53 ~         ConnectedChains<impl ChainHandle + use<T>, impl ChainHandle>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:53:43
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ConnectedChains<impl ChainHandle, impl ChainHandle>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/binary/chain.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 44 ~ pub fn bootstrap_chains_with_full_nodes<T: FnOnce(&mut Config)>(
[INFO] [stdout] 45 |     test_config: &TestConfig,
[INFO] [stdout] ...
[INFO] [stdout] 48 |     options: BootstrapClientOptions,
[INFO] [stdout] 49 ~     config_modifier: T,
[INFO] [stdout] 50 | ) -> Result<
[INFO] [stdout] 51 |     (
[INFO] [stdout] 52 |         RelayerDriver,
[INFO] [stdout] 53 ~         ConnectedChains<impl ChainHandle, impl ChainHandle + use<T>>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> tools/test-framework/src/bootstrap/binary/chain.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 | ) -> Result<impl ChainHandle, Error> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> tools/test-framework/src/bootstrap/binary/chain.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |     registry: &SharedRegistry<impl ChainHandle>,
[INFO] [stdout]     |               ^
[INFO] [stdout] 193 |     node: &FullNode,
[INFO] [stdout]     |           ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> tools/test-framework/src/bootstrap/binary/chain.rs:192:31
[INFO] [stdout]     |
[INFO] [stdout] 192 |     registry: &SharedRegistry<impl ChainHandle>,
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 190 ~ pub fn spawn_chain_handle<Seed, T: ChainHandle>(
[INFO] [stdout] 191 |     _: Seed,
[INFO] [stdout] 192 ~     registry: &SharedRegistry<T>,
[INFO] [stdout] 193 |     node: &FullNode,
[INFO] [stdout] 194 ~ ) -> Result<impl ChainHandle + use<Seed, T>, Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:27:49
[INFO] [stdout]    |
[INFO] [stdout] 27 | ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle, SIZE>), Error> {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 22 ~ pub fn boostrap_chains_with_nodes<const SIZE: usize, T: FnOnce(&mut Config)>(
[INFO] [stdout] 23 |     test_config: &TestConfig,
[INFO] [stdout] 24 |     full_nodes: [FullNode; SIZE],
[INFO] [stdout] 25 |     topology_override: Option<TopologyType>,
[INFO] [stdout] 26 ~     config_modifier: T,
[INFO] [stdout] 27 ~ ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle + use<SIZE, T>, SIZE>), Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:47:49
[INFO] [stdout]    |
[INFO] [stdout] 47 | ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle, SIZE>), Error> {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 42 ~ pub fn boostrap_chains_with_self_connected_node<const SIZE: usize, T: FnOnce(&mut Config)>(
[INFO] [stdout] 43 |     test_config: &TestConfig,
[INFO] [stdout] 44 |     full_node: FullNode,
[INFO] [stdout] 45 |     topology_override: Option<TopologyType>,
[INFO] [stdout] 46 ~     config_modifier: T,
[INFO] [stdout] 47 ~ ) -> Result<(RelayerDriver, NaryConnectedChains<impl ChainHandle + use<SIZE, T>, SIZE>), Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_relayer::chain::handle::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:70:52
[INFO] [stdout]    |
[INFO] [stdout] 70 | ) -> Result<(RelayerDriver, DynamicConnectedChains<impl ChainHandle>), Error> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |     test_config: &TestConfig,
[INFO] [stdout]    |                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> tools/test-framework/src/bootstrap/nary/chain.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 65 ~ pub fn boostrap_chains_with_any_nodes<T: FnOnce(&mut Config)>(
[INFO] [stdout] 66 |     test_config: &TestConfig,
[INFO] [stdout] 67 |     full_nodes: Vec<FullNode>,
[INFO] [stdout] 68 |     topology_override: Option<TopologyType>,
[INFO] [stdout] 69 ~     config_modifier: T,
[INFO] [stdout] 70 ~ ) -> Result<(RelayerDriver, DynamicConnectedChains<impl ChainHandle + use<T>>), Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/relayer-cli/tests/acceptance.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tools/integration-test/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tools/integration-test/src/bin/test_setup_with_binary_channel.rs from 2021 edition to 2024
[INFO] [stdout] warning: `impl ibc_test_framework::prelude::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> tools/integration-test/src/tests/client_refresh.rs:167:29
[INFO] [stdout]     |
[INFO] [stdout] 167 | ) -> Result<ConnectedChains<impl ChainHandle, impl ChainHandle>, Error>
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> tools/integration-test/src/tests/client_refresh.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 |     test_config: &TestConfig,
[INFO] [stdout]     |                  ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> tools/integration-test/src/tests/client_refresh.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 163 ~ fn override_connected_chains<ChainA, ChainB, T: FnOnce(&mut Config)>(
[INFO] [stdout] 164 |     chains: ConnectedChains<ChainA, ChainB>,
[INFO] [stdout] 165 ~     config_modifier: T,
[INFO] [stdout] 166 |     test_config: &TestConfig,
[INFO] [stdout] 167 ~ ) -> Result<ConnectedChains<impl ChainHandle + use<ChainA, ChainB, T>, impl ChainHandle>, Error>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl ibc_test_framework::prelude::ChainHandle` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> tools/integration-test/src/tests/client_refresh.rs:167:47
[INFO] [stdout]     |
[INFO] [stdout] 167 | ) -> Result<ConnectedChains<impl ChainHandle, impl ChainHandle>, Error>
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> tools/integration-test/src/tests/client_refresh.rs:166:18
[INFO] [stdout]     |
[INFO] [stdout] 166 |     test_config: &TestConfig,
[INFO] [stdout]     |                  ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> tools/integration-test/src/tests/client_refresh.rs:165:22
[INFO] [stdout]     |
[INFO] [stdout] 165 |     config_modifier: impl FnOnce(&mut Config),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 163 ~ fn override_connected_chains<ChainA, ChainB, T: FnOnce(&mut Config)>(
[INFO] [stdout] 164 |     chains: ConnectedChains<ChainA, ChainB>,
[INFO] [stdout] 165 ~     config_modifier: T,
[INFO] [stdout] 166 |     test_config: &TestConfig,
[INFO] [stdout] 167 ~ ) -> Result<ConnectedChains<impl ChainHandle, impl ChainHandle + use<ChainA, ChainB, T>>, Error>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tools/integration-test/src/bin/test_setup_with_fee_enabled_binary_channel.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tools/integration-test/src/bin/test_setup_with_ternary_channel.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 02s
[INFO] [stderr] crater-edition-check: ibc-relayer v0.29.4 (/opt/rustwide/workdir/crates/relayer) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-relayer-types v0.29.4 (/opt/rustwide/workdir/crates/relayer-types) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-telemetry v0.29.4 (/opt/rustwide/workdir/crates/telemetry) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-relayer-cli v1.10.4 (/opt/rustwide/workdir/crates/relayer-cli) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-chain-registry v0.29.4 (/opt/rustwide/workdir/crates/chain-registry) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-relayer-rest v0.29.4 (/opt/rustwide/workdir/crates/relayer-rest) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-integration-test v0.29.4 (/opt/rustwide/workdir/tools/integration-test) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ibc-test-framework v0.29.4 (/opt/rustwide/workdir/tools/test-framework) updating edition from 2021 to 2024
[INFO] [stderr]     Checking ibc-relayer-types v0.29.4 (/opt/rustwide/workdir/crates/relayer-types)
[INFO] [stderr]    Compiling ibc-relayer-cli v1.10.4 (/opt/rustwide/workdir/crates/relayer-cli)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics27_ica/error.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         | e | { format_args!("invalid ordering: {}", e.ordering) },
[INFO] [stdout]    |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |               | |                                              |
[INFO] [stdout]    |               | |                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |               | creates a temporary value which is freed while still in use
[INFO] [stdout]    |               borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics27_ica/error.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |         | e | { format_args!("invalid packet timeout timestamp value: `{}`", e.timestamp) },
[INFO] [stdout]    |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |               | |                                                                       |
[INFO] [stdout]    |               | |                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |               | creates a temporary value which is freed while still in use
[INFO] [stdout]    |               borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics28_ccv/msgs/error.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |             | e | { format_args!("invalid raw misbehaviour: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                    |
[INFO] [stdout]    |                   | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics28_ccv/msgs/error.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |             | e | { format_args!("invalid raw double voting: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics29_fee/error.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |             | e | { format_args!("IBC event attribute not found for key `{}`", e.key) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                               |
[INFO] [stdout]    |                   | |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics29_fee/error.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |             | e | { format_args!("IBC event attribute value for key `{}` is not a valid UTF-8 string", e.key) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                                       |
[INFO] [stdout]    |                   | |                                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |             | e | { format_args!("unrecognized ICS-20 transfer message type URL {0}", e.url) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                      |
[INFO] [stdout]    |                   | |                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | ... | { format_args!("destination channel not found in the counterparty of port_id {0} and channel_id {1} ", e.port_id, e.channel_id) },
[INFO] [stdout]    |       --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |       | |                                                                                                                           |
[INFO] [stdout]    |       | |                                                                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]    |       | creates a temporary value which is freed while still in use
[INFO] [stdout]    |       borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |             | e | { format_args!("invalid port id in trace at position: {0}", e.pos) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                              |
[INFO] [stdout]    |                   | |                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |             | e | { format_args!("invalid channel id in trace at position: {0}", e.pos) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                 |
[INFO] [stdout]    |                   | |                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |             | e | { format_args!("trace length must be even but got: {0}", e.len) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                           |
[INFO] [stdout]    |                   | |                                                           temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |             | e | { format_args!("expected '{0}' channel, got '{1}'", Ordering::Unordered, e.order) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                             |
[INFO] [stdout]    |                   | |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |             | e | { format_args!("expected version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                            |
[INFO] [stdout]    |                   | |                                                                            temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:97:71
[INFO] [stdout]    |
[INFO] [stdout] 97 |             | e | { format_args!("expected version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]    |                   ----------------------------------------------------^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                   |                                                   |                          |
[INFO] [stdout]    |                   |                                                   |                          temporary value is freed at the end of this statement
[INFO] [stdout]    |                   |                                                   creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |             | e | { format_args!("expected counterparty version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                                         |
[INFO] [stdout]     |                   | |                                                                                         temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:101:84
[INFO] [stdout]     |
[INFO] [stdout] 101 |             | e | { format_args!("expected counterparty version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]     |                   -----------------------------------------------------------------^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                   |                                                                |                          |
[INFO] [stdout]     |                   |                                                                |                          temporary value is freed at the end of this statement
[INFO] [stdout]     |                   |                                                                creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |             | e | { format_args!("invalid port: '{0}', expected '{1}'", e.port_id, e.exp_port_id) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                           |
[INFO] [stdout]     |                   | |                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |             | e | { format_args!("unknown msg type: {0}", e.msg_type) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                               |
[INFO] [stdout]     |                   | |                                               temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             | e | { format_args!("invalid coin: {}", e.coin) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                      |
[INFO] [stdout]     |                   | |                                      temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |             |e| { format_args!("invalid trusting period: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                   |
[INFO] [stdout]    |                 | |                                                   temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |             |e| { format_args!("invalid unbonding period: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                    |
[INFO] [stdout]    |                 | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |             |e| { format_args!("invalid header, failed basic validation: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                                   |
[INFO] [stdout]    |                 | |                                                                   temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |             |e| { format_args!("invalid client state trust threshold: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                                |
[INFO] [stdout]    |                 | |                                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |             |e| { format_args!("invalid header, failed basic validation: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                                   |
[INFO] [stdout]    |                 | |                                                                   temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |             |e| { format_args!("invalid raw client state: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                    |
[INFO] [stdout]    |                 | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |             |e| { format_args!("invalid chain identifier: {}", e.raw_value) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                       |
[INFO] [stdout]    |                 | |                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |             |e| { format_args!("invalid raw height: {}", e.raw_height) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                  |
[INFO] [stdout]    |                 | |                                                  temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |             | e | { format_args!("invalid raw client consensus state: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                              |
[INFO] [stdout]    |                   | |                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |             | e | { format_args!("invalid raw misbehaviour: {}", e.reason) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                    |
[INFO] [stdout]     |                   | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 116 | |                 format_args!("insufficient overlap: {}", e.reason)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                |
[INFO] [stdout]     | |                 |                                                temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 117 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 125 | |                 format_args!("header timestamp {0} must be greater than current client consensus state timestamp {1}", e.low, e.high)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                   |
[INFO] [stdout]     | |                 |                                                                                                                   temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 126 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 134 | |                 format_args!("header timestamp {0} is outside the trusting period w.r.t. consensus state timestamp {1}", e.low, e.high)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                     |
[INFO] [stdout]     | |                 |                                                                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 135 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 143 | |                 format_args!("given other previous updates, header timestamp should be at most {0}, but was {1}", e.max, e.actual)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                |
[INFO] [stdout]     | |                 |                                                                                                                temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 144 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:152:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 152 | |                 format_args!("given other previous updates, header timestamp should be at least {0}, but was {1}", e.min, e.actual)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                 |
[INFO] [stdout]     | |                 |                                                                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 153 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 165 | |                 format_args!("not enough time elapsed, current timestamp {0} is still less than earliest acceptable timestamp {1}", e.current_time, e.earliest_time)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                                  |
[INFO] [stdout]     | |                 |                                                                                                                                                  temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 166 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 174 | |                 format_args!("not enough blocks elapsed, current height {0} is still less than earliest acceptable height {1}", e.current_height, e.earliest_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                                  |
[INFO] [stdout]     | |                 |                                                                                                                                                  temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 175 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 180 | |                 format_args!("header revision height = {0} is invalid", e.height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                               |
[INFO] [stdout]     | |                 |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 181 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 189 | |                 format_args!("header height is {0} and is lower than the trusted header height, which is {1} ", e.height_header, e.trusted_header_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                       |
[INFO] [stdout]     | |                 |                                                                                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 190 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 198 | |                 format_args!("header height is {0} but it must be greater than the current client height which is {1}", e.low, e.high)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                    |
[INFO] [stdout]     | |                 |                                                                                                                    temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 199 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 207 | |                 format_args!("the header's current/trusted revision number ({0}) and the update's revision number ({1}) should be the same", e.current_revision, e.update_revision)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                                                 |
[INFO] [stdout]     | |                 |                                                                                                                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 208 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 216 | |                 format_args!("invalid validator set: header_validators_hash={} and validators_hash={}", e.hash1, e.hash2)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                       |
[INFO] [stdout]     | |                 |                                                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 217 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 222 | |                 format_args!("not enough trust because insufficient validators overlap: {}", e.reason)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                    |
[INFO] [stdout]     | |                 |                                                                                    temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 223 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:228:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 228 | |                 format_args!("verification failed: {}", e.detail)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                               |
[INFO] [stdout]     | |                 |                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 229 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 237 | |/                 format_args!(
[INFO] [stdout] 238 | ||                     "Processed time for the client {0} at height {1} not found",
[INFO] [stdout] 239 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 240 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 248 | |/                 format_args!(
[INFO] [stdout] 249 | ||                     "Processed height for the client {0} at height {1} not found",
[INFO] [stdout] 250 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 251 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 259 | |                 format_args!("the height is insufficient: latest_height={0} target_height={1}", e.latest_height, e.target_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                               |
[INFO] [stdout]     | |                 |                                                                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 260 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 268 | |                 format_args!("the client is frozen: frozen_height={0} target_height={1}", e.frozen_height, e.target_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                         |
[INFO] [stdout]     | |                 |                                                                                                         temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 269 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 282 | |                 format_args!("duplicate validator in commit signatures with address {}", e.id)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                            |
[INFO] [stdout]     | |                 |                                                                            temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 283 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 288 | |                 format_args!("insufficient signers overlap between {0} and {1}", e.q1, e.q2)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                          |
[INFO] [stdout]     | |                 |                                                                          temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 289 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |             | e | { format_args!("unknown client type: {0}", e.client_type) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 23 | |/                 format_args!("Client identifier constructor failed for type {0} with counter {1}",
[INFO] [stdout] 24 | ||                     e.client_type, e.counter)
[INFO] [stdout]    | ||                                             ^
[INFO] [stdout]    | ||                                             |
[INFO] [stdout]    | ||_____________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 25 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |             | e | { format_args!("client already exists: {0}", e.client_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |             | e | { format_args!("client not found: {0}", e.client_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                |
[INFO] [stdout]    |                   | |                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |             | e | { format_args!("client is frozen: {0}", e.client_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                |
[INFO] [stdout]    |                   | |                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 42 | |/                 format_args!("consensus state not found at: {0} at height {1}",
[INFO] [stdout] 43 | ||                     e.client_id, e.height)
[INFO] [stdout]    | ||                                          ^
[INFO] [stdout]    | ||                                          |
[INFO] [stdout]    | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 44 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |             | e | { format_args!("header verification failed with reason: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                  |
[INFO] [stdout]    |                   | |                                                                  temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |             | e | { format_args!("invalid trust threshold: {}/{}", e.numerator, e.denominator) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                        |
[INFO] [stdout]    |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 | ... | { format_args!("failed to build Tendermint domain type trust threshold from fraction: {}/{}", e.numerator, e.denominator) },
[INFO] [stdout]    |       --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |       | |                                                                                                                     |
[INFO] [stdout]    |       | |                                                                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |       | creates a temporary value which is freed while still in use
[INFO] [stdout]    |       borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |             | e | { format_args!("unknown client state type: {0}", e.client_state_type) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                 |
[INFO] [stdout]    |                   | |                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             | e | { format_args!("unexpected client state type, expected: {0}, got: {1}", e.expected, e.got) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                                      |
[INFO] [stdout]    |                   | |                                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 81 | |/                 format_args!("unknown client consensus state type: {0}",
[INFO] [stdout] 82 | ||                     e.consensus_state_type)
[INFO] [stdout]    | ||                                           ^
[INFO] [stdout]    | ||                                           |
[INFO] [stdout]    | ||___________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                            creates a temporary value which is freed while still in use
[INFO] [stdout] 83 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 91 | |/                 format_args!("unknown header type: {0}",
[INFO] [stdout] 92 | ||                     e.header_type)
[INFO] [stdout]    | ||                                  ^
[INFO] [stdout]    | ||                                  |
[INFO] [stdout]    | ||__________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 93 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:98:17
[INFO] [stdout]     |
[INFO] [stdout]  97 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout]  98 | |/                 format_args!("unknown misbehaviour type: {0}",
[INFO] [stdout]  99 | ||                     e.misbehavior_type)
[INFO] [stdout]     | ||                                       ^
[INFO] [stdout]     | ||                                       |
[INFO] [stdout]     | ||_______________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                        creates a temporary value which is freed while still in use
[INFO] [stdout] 100 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 106 | |/                 format_args!("invalid raw client identifier {0}",
[INFO] [stdout] 107 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 108 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics27_ica/error.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         | e | { format_args!("invalid ordering: {}", e.ordering) },
[INFO] [stdout]    |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |               | |                                              |
[INFO] [stdout]    |               | |                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |               | creates a temporary value which is freed while still in use
[INFO] [stdout]    |               borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics27_ica/error.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |         | e | { format_args!("invalid packet timeout timestamp value: `{}`", e.timestamp) },
[INFO] [stdout]    |               --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |               | |                                                                       |
[INFO] [stdout]    |               | |                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |               | creates a temporary value which is freed while still in use
[INFO] [stdout]    |               borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |             | e | { format_args!("String {0} cannot be converted to height", e.value) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                               |
[INFO] [stdout]     |                   | |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 193 | |/                 format_args!("mismatch between client and arguments types, expected: {0:?}",
[INFO] [stdout] 194 | ||                     e.client_type)
[INFO] [stdout]     | ||                                  ^
[INFO] [stdout]     | ||                                  |
[INFO] [stdout]     | ||__________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 195 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 200 | |                 format_args!("Insufficient overlap {}", e.reason)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                               |
[INFO] [stdout]     | |                 |                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 201 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 209 | |/                 format_args!("mismatch in raw client consensus state {} with expected state {}",
[INFO] [stdout] 210 | ||                     e.state_type, e.consensus_type)
[INFO] [stdout]     | ||                                                   ^
[INFO] [stdout]     | ||                                                   |
[INFO] [stdout]     | ||___________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                    creates a temporary value which is freed while still in use
[INFO] [stdout] 211 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 228 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 229 | |/                 format_args!("upgraded client height {} must be at greater than current client height {}",
[INFO] [stdout] 230 | ||                     e.upgraded_height, e.client_height)
[INFO] [stdout]     | ||                                                       ^
[INFO] [stdout]     | ||                                                       |
[INFO] [stdout]     | ||_______________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                        creates a temporary value which is freed while still in use
[INFO] [stdout] 231 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 239 | |                 format_args!("timestamp is invalid or missing, timestamp={0},  now={1}", e.time1, e.time2)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                        |
[INFO] [stdout]     | |                 |                                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 240 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 248 | |                 format_args!("header not within trusting period: expires_at={0} now={1}", e.latest_time, e.update_time)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                     |
[INFO] [stdout]     | |                 |                                                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 249 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 |             | e | { format_args!("the local consensus state could not be retrieved for height {}", e.height) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                                      |
[INFO] [stdout]     |                   | |                                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |             | e | { format_args!("client specific error: {0}", e.description) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                       |
[INFO] [stdout]     |                   | |                                                       temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |             | e | { format_args!("event attribute value for key {} is not valid UTF-8", e.key) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/height.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout] 155 |             |e| { format_args!("cannot convert into a `Height` type from string {0}", e.height) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                                                           |
[INFO] [stdout]     |                 | |                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/height.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 159 |             |e| { format_args!("invalid height {0}", e.height) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                          |
[INFO] [stdout]     |                 | |                                          temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics28_ccv/msgs/error.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |             | e | { format_args!("invalid raw misbehaviour: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                    |
[INFO] [stdout]    |                   | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics28_ccv/msgs/error.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |             | e | { format_args!("invalid raw double voting: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics29_fee/error.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |             | e | { format_args!("IBC event attribute not found for key `{}`", e.key) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                               |
[INFO] [stdout]    |                   | |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/ics29_fee/error.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |             | e | { format_args!("IBC event attribute value for key `{}` is not a valid UTF-8 string", e.key) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                                       |
[INFO] [stdout]    |                   | |                                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |             | e | { format_args!("connection state is unknown: {}", e.state) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                      |
[INFO] [stdout]    |                   | |                                                      temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 25 | |/                 format_args!("connection exists (was initialized) already: {0}",
[INFO] [stdout] 26 | ||                     e.connection_id)
[INFO] [stdout]    | ||                                    ^
[INFO] [stdout]    | ||                                    |
[INFO] [stdout]    | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 27 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 32 | |/                 format_args!("connection end for identifier {0} was never initialized",
[INFO] [stdout] 33 | ||                     e.connection_id)
[INFO] [stdout]    | ||                                    ^
[INFO] [stdout]    | ||                                    |
[INFO] [stdout]    | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 34 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |    ...   | e | {
[INFO] [stdout]    |  ______________-
[INFO] [stdout] 42 | |/ ...       format_args!("consensus height claimed by the client on the other party is too advanced: {0} (host chain current height...
[INFO] [stdout] 43 | || ...           e.target_height, e.currrent_height)
[INFO] [stdout]    | ||                                                 ^
[INFO] [stdout]    | ||                                                 |
[INFO] [stdout]    | ||_________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                                  creates a temporary value which is freed while still in use
[INFO] [stdout] 44 | |  ...   },
[INFO] [stdout]    | |________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |    ...   | e | {
[INFO] [stdout]    |  ______________-
[INFO] [stdout] 52 | |/ ...       format_args!("consensus height claimed by the client on the other party has been pruned: {0} (host chain oldest height:...
[INFO] [stdout] 53 | || ...           e.target_height, e.oldest_height)
[INFO] [stdout]    | ||                                               ^
[INFO] [stdout]    | ||                                               |
[INFO] [stdout]    | ||_______________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                                creates a temporary value which is freed while still in use
[INFO] [stdout] 54 | |  ...   },
[INFO] [stdout]    | |________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |             | e | { format_args!("version \"{}\" not supported", e.version) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 102 | |/                 format_args!("no connection was found for the previous connection id provided {0}",
[INFO] [stdout] 103 | ||                     e.connection_id)
[INFO] [stdout]     | ||                                    ^
[INFO] [stdout]     | ||                                    |
[INFO] [stdout]     | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 104 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 115 | |/                 format_args!("counterparty chosen connection id {0} is different than the connection id {1}",
[INFO] [stdout] 116 | ||                     e.connection_id, e.counterparty_connection_id)
[INFO] [stdout]     | ||                                                                  ^
[INFO] [stdout]     | ||                                                                  |
[INFO] [stdout]     | ||__________________________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 117 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 132 | |/                 format_args!("the client id does not match any client state: {0}",
[INFO] [stdout] 133 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 134 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 143 | |/                 format_args!("the consensus proof verification failed (height: {0})",
[INFO] [stdout] 144 | ||                     e.height)
[INFO] [stdout]     | ||                             ^
[INFO] [stdout]     | ||                             |
[INFO] [stdout]     | ||_____________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                              creates a temporary value which is freed while still in use
[INFO] [stdout] 145 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 154 | |/                 format_args!("the client state proof verification failed for client id {0}",
[INFO] [stdout] 155 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 156 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:166:21
[INFO] [stdout]     |
[INFO] [stdout] 166 |             | e | { format_args!("event attribute value for key {} is not valid UTF-8", e.key) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |             | e | { format_args!("unrecognized ICS-20 transfer message type URL {0}", e.url) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                      |
[INFO] [stdout]    |                   | |                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | ... | { format_args!("destination channel not found in the counterparty of port_id {0} and channel_id {1} ", e.port_id, e.channel_id) },
[INFO] [stdout]    |       --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |       | |                                                                                                                           |
[INFO] [stdout]    |       | |                                                                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]    |       | creates a temporary value which is freed while still in use
[INFO] [stdout]    |       borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |             | e | { format_args!("invalid port id in trace at position: {0}", e.pos) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                              |
[INFO] [stdout]    |                   | |                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |             | e | { format_args!("invalid channel id in trace at position: {0}", e.pos) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                 |
[INFO] [stdout]    |                   | |                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |             | e | { format_args!("trace length must be even but got: {0}", e.len) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                           |
[INFO] [stdout]    |                   | |                                                           temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |             | e | { format_args!("expected '{0}' channel, got '{1}'", Ordering::Unordered, e.order) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                             |
[INFO] [stdout]    |                   | |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |             | e | { format_args!("expected version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                            |
[INFO] [stdout]    |                   | |                                                                            temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/applications/transfer/error.rs:97:71
[INFO] [stdout]    |
[INFO] [stdout] 97 |             | e | { format_args!("expected version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]    |                   ----------------------------------------------------^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]    |                   |                                                   |                          |
[INFO] [stdout]    |                   |                                                   |                          temporary value is freed at the end of this statement
[INFO] [stdout]    |                   |                                                   creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |             | e | { format_args!("expected counterparty version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                                         |
[INFO] [stdout]     |                   | |                                                                                         temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:101:84
[INFO] [stdout]     |
[INFO] [stdout] 101 |             | e | { format_args!("expected counterparty version '{0}', got '{1}'", Version::ics20(), e.version) },
[INFO] [stdout]     |                   -----------------------------------------------------------------^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                   |                                                                |                          |
[INFO] [stdout]     |                   |                                                                |                          temporary value is freed at the end of this statement
[INFO] [stdout]     |                   |                                                                creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:123:21
[INFO] [stdout]     |
[INFO] [stdout] 123 |             | e | { format_args!("invalid port: '{0}', expected '{1}'", e.port_id, e.exp_port_id) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                           |
[INFO] [stdout]     |                   | |                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |             | e | { format_args!("unknown msg type: {0}", e.msg_type) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                               |
[INFO] [stdout]     |                   | |                                               temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/applications/transfer/error.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             | e | { format_args!("invalid coin: {}", e.coin) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                      |
[INFO] [stdout]     |                   | |                                      temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |             | e | { format_args!("channel state unknown: {}", e.state) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                |
[INFO] [stdout]    |                   | |                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |             | e | { format_args!("flush status unknown: {}", e.state) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                               |
[INFO] [stdout]    |                   | |                                               temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |             | e | { format_args!("flush status unknown: {}", e.type_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                 |
[INFO] [stdout]    |                   | |                                                 temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             | e | { format_args!("channel order type unknown: {}", e.type_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                       |
[INFO] [stdout]    |                   | |                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 48 | |/                 format_args!(
[INFO] [stdout] 49 | ||                     "invalid connection hops length: expected {0}; actual {1}",
[INFO] [stdout] 50 | ||                     e.expected, e.actual)
[INFO] [stdout]    | ||                                         ^
[INFO] [stdout]    | ||                                         |
[INFO] [stdout]    | ||_________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 51 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 56 | |/                 format_args!(
[INFO] [stdout] 57 | ||                     "packet destination port {} and channel {} doesn't match the counterparty's port/channel",
[INFO] [stdout] 58 | ||                     e.port_id, e.channel_id)
[INFO] [stdout]    | ||                                            ^
[INFO] [stdout]    | ||                                            |
[INFO] [stdout]    | ||____________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                             creates a temporary value which is freed while still in use
[INFO] [stdout] 59 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |             | e | { format_args!("invalid flush_status value: {}", e.flush_status) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                            |
[INFO] [stdout]    |                   | |                                                            temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |            | e | {
[INFO] [stdout]    |  ________________-
[INFO] [stdout] 84 | |/                 format_args!("Missing sequence number for receiving packets on port {0} and channel {1}",
[INFO] [stdout] 85 | ||                              e.port_id,
[INFO] [stdout] 86 | ||                              e.channel_id)
[INFO] [stdout]    | ||                                          ^
[INFO] [stdout]    | ||                                          |
[INFO] [stdout]    | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 87 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 150 | |/                 format_args!(
[INFO] [stdout] 151 | ||                     "the channel end ({0}, {1}) does not exist",
[INFO] [stdout] 152 | ||                     e.port_id, e.channel_id)
[INFO] [stdout]     | ||                                            ^
[INFO] [stdout]     | ||                                            |
[INFO] [stdout]     | ||____________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                             creates a temporary value which is freed while still in use
[INFO] [stdout] 153 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 158 | |/                 format_args!(
[INFO] [stdout] 159 | ||                     "a different channel exists (was initialized) already for the same channel identifier {0}",
[INFO] [stdout] 160 | ||                     e.channel_id)
[INFO] [stdout]     | ||                                 ^
[INFO] [stdout]     | ||                                 |
[INFO] [stdout]     | ||_________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                  creates a temporary value which is freed while still in use
[INFO] [stdout] 161 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 166 | |/                 format_args!(
[INFO] [stdout] 167 | ||                     "the associated connection {0} is not OPEN",
[INFO] [stdout] 168 | ||                     e.connection_id)
[INFO] [stdout]     | ||                                    ^
[INFO] [stdout]     | ||                                    |
[INFO] [stdout]     | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 169 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 174 | |/                 format_args!(
[INFO] [stdout] 175 | ||                     "Undefined counterparty connection for {0}",
[INFO] [stdout] 176 | ||                     e.connection_id)
[INFO] [stdout]     | ||                                    ^
[INFO] [stdout]     | ||                                    |
[INFO] [stdout]     | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 177 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 183 | |/                 format_args!(
[INFO] [stdout] 184 | ||                     "Verification fails for the packet with the sequence number {0}",
[INFO] [stdout] 185 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 186 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 200 | |/                 format_args!(
[INFO] [stdout] 201 | ||                     "Packet acknowledgement exists for the packet with the sequence {0}",
[INFO] [stdout] 202 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 203 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 208 | |/                 format_args!("Missing sequence number for sending packets on port {0} and channel {1}",
[INFO] [stdout] 209 | ||                              e.port_id,
[INFO] [stdout] 210 | ||                              e.channel_id)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 211 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 217 | |/                 format_args!(
[INFO] [stdout] 218 | ||                     "String {0} cannot be converted to packet sequence",
[INFO] [stdout] 219 | ||                     e.value)
[INFO] [stdout]     | ||                            ^
[INFO] [stdout]     | ||                            |
[INFO] [stdout]     | ||____________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                             creates a temporary value which is freed while still in use
[INFO] [stdout] 220 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:228:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 228 | |/                 format_args!(
[INFO] [stdout] 229 | ||                     "Invalid packet sequence {0} ≠ next send sequence {1}",
[INFO] [stdout] 230 | ||                     e.given_sequence, e.next_sequence)
[INFO] [stdout]     | ||                                                      ^
[INFO] [stdout]     | ||                                                      |
[INFO] [stdout]     | ||______________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                       creates a temporary value which is freed while still in use
[INFO] [stdout] 231 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 238 | |                 format_args!("Invalid packet data, not a valid hex-encoded string: {}", e.data)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                             |
[INFO] [stdout]     | |                 |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 239 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 246 | |                 format_args!("Invalid packet ack, not a valid hex-encoded string: {}", e.ack)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                           |
[INFO] [stdout]     | |                 |                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 247 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 255 | |/                 format_args!(
[INFO] [stdout] 256 | ||                     "Receiving chain block height {0} >= packet timeout height {1}",
[INFO] [stdout] 257 | ||                     e.chain_height, e.timeout_height)
[INFO] [stdout]     | ||                                                     ^
[INFO] [stdout]     | ||                                                     |
[INFO] [stdout]     | ||_____________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                      creates a temporary value which is freed while still in use
[INFO] [stdout] 258 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 266 | |/                 format_args!(
[INFO] [stdout] 267 | ||                     "Packet timeout height {0} > chain height {1}",
[INFO] [stdout] 268 | ||                      e.timeout_height, e.chain_height)
[INFO] [stdout]     | ||                                                      ^
[INFO] [stdout]     | ||                                                      |
[INFO] [stdout]     | ||______________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                       creates a temporary value which is freed while still in use
[INFO] [stdout] 269 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 277 | |/                 format_args!(
[INFO] [stdout] 278 | ||                     "Packet timeout timestamp {0} > chain timestamp {1}",
[INFO] [stdout] 279 | ||                      e.timeout_timestamp, e.chain_timestamp)
[INFO] [stdout]     | ||                                                            ^
[INFO] [stdout]     | ||                                                            |
[INFO] [stdout]     | ||____________________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                             creates a temporary value which is freed while still in use
[INFO] [stdout] 280 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 294 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 295 | |/                 format_args!(
[INFO] [stdout] 296 | ||                     "Client with id {0} is frozen",
[INFO] [stdout] 297 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 298 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 307 | |/                 format_args!(
[INFO] [stdout] 308 | ||                     "Channel {0} should not be state {1}",
[INFO] [stdout] 309 | ||                     e.channel_id, e.state)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 310 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:315:17
[INFO] [stdout]     |
[INFO] [stdout] 314 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 315 | |/                 format_args!(
[INFO] [stdout] 316 | ||                     "Channel {0} is Closed",
[INFO] [stdout] 317 | ||                     e.channel_id)
[INFO] [stdout]     | ||                                 ^
[INFO] [stdout]     | ||                                 |
[INFO] [stdout]     | ||_________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                  creates a temporary value which is freed while still in use
[INFO] [stdout] 318 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 326 | |/                 format_args!(
[INFO] [stdout] 327 | ||                     "Commitment for the packet {0} not found",
[INFO] [stdout] 328 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 329 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 334 | |/                 format_args!(
[INFO] [stdout] 335 | ||                     "The stored commitment of the packet {0} is incorrect",
[INFO] [stdout] 336 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 337 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:342:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 342 | |/                 format_args!(
[INFO] [stdout] 343 | ||                     "Receipt for the packet {0} not found",
[INFO] [stdout] 344 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 345 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:350:17
[INFO] [stdout]     |
[INFO] [stdout] 349 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 350 | |/                 format_args!(
[INFO] [stdout] 351 | ||                     "Acknowledgment for the packet {0} not found",
[INFO] [stdout] 352 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 353 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 357 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 358 | |/                 format_args!("Missing sequence number for ack packets on port {0} and channel {1}",
[INFO] [stdout] 359 | ||                              e.port_id,
[INFO] [stdout] 360 | ||                              e.channel_id)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 361 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:369:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 369 | |/                 format_args!(
[INFO] [stdout] 370 | ||                     "Processed time for the client {0} at height {1} not found",
[INFO] [stdout] 371 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 372 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:380:17
[INFO] [stdout]     |
[INFO] [stdout] 379 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 380 | |/                 format_args!(
[INFO] [stdout] 381 | ||                     "Processed height for the client {0} at height {1} not found",
[INFO] [stdout] 382 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 383 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 394 | |/                 format_args!(
[INFO] [stdout] 395 | ||                     "application module error: {0}",
[INFO] [stdout] 396 | ||                     e.description)
[INFO] [stdout]     | ||                                  ^
[INFO] [stdout]     | ||                                  |
[INFO] [stdout]     | ||__________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 397 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:401:21
[INFO] [stdout]     |
[INFO] [stdout] 401 |             | e | { format_args!("Failed to convert abci event to IbcEvent: {}", e.abci_event)},
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |             | e | { format_args!("event attribute value for key {} is not valid UTF-8", e.key) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |             |e| { format_args!("invalid trusting period: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                   |
[INFO] [stdout]    |                 | |                                                   temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 |             |e| { format_args!("invalid unbonding period: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                    |
[INFO] [stdout]    |                 | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |             |e| { format_args!("invalid header, failed basic validation: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                                   |
[INFO] [stdout]    |                 | |                                                                   temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:35:19
[INFO] [stdout]    |
[INFO] [stdout] 35 |             |e| { format_args!("invalid client state trust threshold: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                                |
[INFO] [stdout]    |                 | |                                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |             |e| { format_args!("invalid header, failed basic validation: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                                   |
[INFO] [stdout]    |                 | |                                                                   temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |             |e| { format_args!("invalid raw client state: {}", e.reason) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                    |
[INFO] [stdout]    |                 | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |             |e| { format_args!("invalid chain identifier: {}", e.raw_value) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                       |
[INFO] [stdout]    |                 | |                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |             |e| { format_args!("invalid raw height: {}", e.raw_height) },
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                 | |                                                  |
[INFO] [stdout]    |                 | |                                                  temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |             | e | { format_args!("invalid raw client consensus state: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                              |
[INFO] [stdout]    |                   | |                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |             | e | { format_args!("invalid raw misbehaviour: {}", e.reason) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                    |
[INFO] [stdout]     |                   | |                                                    temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 116 | |                 format_args!("insufficient overlap: {}", e.reason)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                |
[INFO] [stdout]     | |                 |                                                temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 117 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 125 | |                 format_args!("header timestamp {0} must be greater than current client consensus state timestamp {1}", e.low, e.high)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                   |
[INFO] [stdout]     | |                 |                                                                                                                   temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 126 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 134 | |                 format_args!("header timestamp {0} is outside the trusting period w.r.t. consensus state timestamp {1}", e.low, e.high)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                     |
[INFO] [stdout]     | |                 |                                                                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 135 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 143 | |                 format_args!("given other previous updates, header timestamp should be at most {0}, but was {1}", e.max, e.actual)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                |
[INFO] [stdout]     | |                 |                                                                                                                temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 144 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:152:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 152 | |                 format_args!("given other previous updates, header timestamp should be at least {0}, but was {1}", e.min, e.actual)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                 |
[INFO] [stdout]     | |                 |                                                                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 153 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 165 | |                 format_args!("not enough time elapsed, current timestamp {0} is still less than earliest acceptable timestamp {1}", e.current_time, e.earliest_time)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                                  |
[INFO] [stdout]     | |                 |                                                                                                                                                  temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 166 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 174 | |                 format_args!("not enough blocks elapsed, current height {0} is still less than earliest acceptable height {1}", e.current_height, e.earliest_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                                  |
[INFO] [stdout]     | |                 |                                                                                                                                                  temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 175 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 180 | |                 format_args!("header revision height = {0} is invalid", e.height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                               |
[INFO] [stdout]     | |                 |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 181 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 189 | |                 format_args!("header height is {0} and is lower than the trusted header height, which is {1} ", e.height_header, e.trusted_header_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                       |
[INFO] [stdout]     | |                 |                                                                                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 190 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 198 | |                 format_args!("header height is {0} but it must be greater than the current client height which is {1}", e.low, e.high)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                    |
[INFO] [stdout]     | |                 |                                                                                                                    temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 199 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 207 | |                 format_args!("the header's current/trusted revision number ({0}) and the update's revision number ({1}) should be the same", e.current_revision, e.update_revision)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                                                                                 |
[INFO] [stdout]     | |                 |                                                                                                                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 208 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 216 | |                 format_args!("invalid validator set: header_validators_hash={} and validators_hash={}", e.hash1, e.hash2)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                       |
[INFO] [stdout]     | |                 |                                                                                                       temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 217 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 222 | |                 format_args!("not enough trust because insufficient validators overlap: {}", e.reason)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                    |
[INFO] [stdout]     | |                 |                                                                                    temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 223 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:228:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 228 | |                 format_args!("verification failed: {}", e.detail)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                               |
[INFO] [stdout]     | |                 |                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 229 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 237 | |/                 format_args!(
[INFO] [stdout] 238 | ||                     "Processed time for the client {0} at height {1} not found",
[INFO] [stdout] 239 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 240 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 248 | |/                 format_args!(
[INFO] [stdout] 249 | ||                     "Processed height for the client {0} at height {1} not found",
[INFO] [stdout] 250 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 251 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 258 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 259 | |                 format_args!("the height is insufficient: latest_height={0} target_height={1}", e.latest_height, e.target_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                               |
[INFO] [stdout]     | |                 |                                                                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 260 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 268 | |                 format_args!("the client is frozen: frozen_height={0} target_height={1}", e.frozen_height, e.target_height)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                         |
[INFO] [stdout]     | |                 |                                                                                                         temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 269 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 282 | |                 format_args!("duplicate validator in commit signatures with address {}", e.id)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                            |
[INFO] [stdout]     | |                 |                                                                            temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 283 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/clients/ics07_tendermint/error.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 288 | |                 format_args!("insufficient signers overlap between {0} and {1}", e.q1, e.q2)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                          |
[INFO] [stdout]     | |                 |                                                                          temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 289 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |             | e | { format_args!("unknown client type: {0}", e.client_type) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 23 | |/                 format_args!("Client identifier constructor failed for type {0} with counter {1}",
[INFO] [stdout] 24 | ||                     e.client_type, e.counter)
[INFO] [stdout]    | ||                                             ^
[INFO] [stdout]    | ||                                             |
[INFO] [stdout]    | ||_____________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 25 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |             | e | { format_args!("client already exists: {0}", e.client_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:33:21
[INFO] [stdout]    |
[INFO] [stdout] 33 |             | e | { format_args!("client not found: {0}", e.client_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                |
[INFO] [stdout]    |                   | |                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |             | e | { format_args!("client is frozen: {0}", e.client_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                |
[INFO] [stdout]    |                   | |                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 42 | |/                 format_args!("consensus state not found at: {0} at height {1}",
[INFO] [stdout] 43 | ||                     e.client_id, e.height)
[INFO] [stdout]    | ||                                          ^
[INFO] [stdout]    | ||                                          |
[INFO] [stdout]    | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 44 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:51:21
[INFO] [stdout]    |
[INFO] [stdout] 51 |             | e | { format_args!("header verification failed with reason: {}", e.reason) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                  |
[INFO] [stdout]    |                   | |                                                                  temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |             | e | { format_args!("invalid trust threshold: {}/{}", e.numerator, e.denominator) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                        |
[INFO] [stdout]    |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 | ... | { format_args!("failed to build Tendermint domain type trust threshold from fraction: {}/{}", e.numerator, e.denominator) },
[INFO] [stdout]    |       --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |       | |                                                                                                                     |
[INFO] [stdout]    |       | |                                                                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |       | creates a temporary value which is freed while still in use
[INFO] [stdout]    |       borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |             | e | { format_args!("unknown client state type: {0}", e.client_state_type) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                 |
[INFO] [stdout]    |                   | |                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             | e | { format_args!("unexpected client state type, expected: {0}, got: {1}", e.expected, e.got) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                                      |
[INFO] [stdout]    |                   | |                                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 81 | |/                 format_args!("unknown client consensus state type: {0}",
[INFO] [stdout] 82 | ||                     e.consensus_state_type)
[INFO] [stdout]    | ||                                           ^
[INFO] [stdout]    | ||                                           |
[INFO] [stdout]    | ||___________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                            creates a temporary value which is freed while still in use
[INFO] [stdout] 83 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics02_client/error.rs:91:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 91 | |/                 format_args!("unknown header type: {0}",
[INFO] [stdout] 92 | ||                     e.header_type)
[INFO] [stdout]    | ||                                  ^
[INFO] [stdout]    | ||                                  |
[INFO] [stdout]    | ||__________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 93 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:98:17
[INFO] [stdout]     |
[INFO] [stdout]  97 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout]  98 | |/                 format_args!("unknown misbehaviour type: {0}",
[INFO] [stdout]  99 | ||                     e.misbehavior_type)
[INFO] [stdout]     | ||                                       ^
[INFO] [stdout]     | ||                                       |
[INFO] [stdout]     | ||_______________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                        creates a temporary value which is freed while still in use
[INFO] [stdout] 100 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 106 | |/                 format_args!("invalid raw client identifier {0}",
[INFO] [stdout] 107 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 108 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |             | e | { format_args!("String {0} cannot be converted to height", e.value) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                               |
[INFO] [stdout]     |                   | |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 193 | |/                 format_args!("mismatch between client and arguments types, expected: {0:?}",
[INFO] [stdout] 194 | ||                     e.client_type)
[INFO] [stdout]     | ||                                  ^
[INFO] [stdout]     | ||                                  |
[INFO] [stdout]     | ||__________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 195 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 200 | |                 format_args!("Insufficient overlap {}", e.reason)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                               |
[INFO] [stdout]     | |                 |                                               temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 201 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 209 | |/                 format_args!("mismatch in raw client consensus state {} with expected state {}",
[INFO] [stdout] 210 | ||                     e.state_type, e.consensus_type)
[INFO] [stdout]     | ||                                                   ^
[INFO] [stdout]     | ||                                                   |
[INFO] [stdout]     | ||___________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                    creates a temporary value which is freed while still in use
[INFO] [stdout] 211 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 228 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 229 | |/                 format_args!("upgraded client height {} must be at greater than current client height {}",
[INFO] [stdout] 230 | ||                     e.upgraded_height, e.client_height)
[INFO] [stdout]     | ||                                                       ^
[INFO] [stdout]     | ||                                                       |
[INFO] [stdout]     | ||_______________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                        creates a temporary value which is freed while still in use
[INFO] [stdout] 231 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 239 | |                 format_args!("timestamp is invalid or missing, timestamp={0},  now={1}", e.time1, e.time2)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                        |
[INFO] [stdout]     | |                 |                                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 240 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 248 | |                 format_args!("header not within trusting period: expires_at={0} now={1}", e.latest_time, e.update_time)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                                                     |
[INFO] [stdout]     | |                 |                                                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 249 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 |             | e | { format_args!("the local consensus state could not be retrieved for height {}", e.height) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                                      |
[INFO] [stdout]     |                   | |                                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |             | e | { format_args!("client specific error: {0}", e.description) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                       |
[INFO] [stdout]     |                   | |                                                       temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/error.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |             | e | { format_args!("event attribute value for key {} is not valid UTF-8", e.key) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/timeout.rs:244:19
[INFO] [stdout]     |
[INFO] [stdout] 244 |             |e| { format_args!("cannot convert into a `Timestamp` type from string {0}", e.timestamp) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                                                                 |
[INFO] [stdout]     |                 | |                                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/timeout.rs:248:19
[INFO] [stdout]     |
[INFO] [stdout] 248 |             |e| { format_args!("invalid timeout {0}", e.timeout) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                            |
[INFO] [stdout]     |                 | |                                            temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/height.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout] 155 |             |e| { format_args!("cannot convert into a `Height` type from string {0}", e.height) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                                                           |
[INFO] [stdout]     |                 | |                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics02_client/height.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 159 |             |e| { format_args!("invalid height {0}", e.height) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                          |
[INFO] [stdout]     |                 | |                                          temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]  --> crates/relayer-types/src/core/ics24_host/error.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |             | e | { format_args!("identifier {0} cannot contain separator '/'", e.id) },
[INFO] [stdout]   |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]   |                   | |                                                               |
[INFO] [stdout]   |                   | |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]   |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]   |                   borrow later used here
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics24_host/error.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 19 | |/                 format_args!(
[INFO] [stdout] 20 | ||                     "identifier {0} has invalid length {1} must be between {2}-{3} characters",
[INFO] [stdout] 21 | ||                     e.id, e.length, e.min, e.max
[INFO] [stdout] 22 | ||                 )
[INFO] [stdout]    | ||                 ^
[INFO] [stdout]    | ||                 |
[INFO] [stdout]    | ||_________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                  creates a temporary value which is freed while still in use
[INFO] [stdout] 23 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics24_host/error.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |    ...   | e | {
[INFO] [stdout]    |  ______________-
[INFO] [stdout] 28 | |/ ...       format_args!(
[INFO] [stdout] 29 | || ...           "identifier {0} must only contain alphanumeric characters or `.`, `_`, `+`, `-`, `#`, - `[`, `]`, `<`, `>`", e.id
[INFO] [stdout] 30 | || ...       )
[INFO] [stdout]    | ||           ^
[INFO] [stdout]    | ||           |
[INFO] [stdout]    | ||___________temporary value is freed at the end of this statement
[INFO] [stdout]    | |            creates a temporary value which is freed while still in use
[INFO] [stdout] 31 | |  ...   },
[INFO] [stdout]    | |________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics24_host/error.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |             | e | { format_args!("chain identifiers are expected to be in epoch format {0}", e.id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                            |
[INFO] [stdout]    |                   | |                                                                            temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 |             | e | { format_args!("connection state is unknown: {}", e.state) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                      |
[INFO] [stdout]    |                   | |                                                      temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 25 | |/                 format_args!("connection exists (was initialized) already: {0}",
[INFO] [stdout] 26 | ||                     e.connection_id)
[INFO] [stdout]    | ||                                    ^
[INFO] [stdout]    | ||                                    |
[INFO] [stdout]    | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 27 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 32 | |/                 format_args!("connection end for identifier {0} was never initialized",
[INFO] [stdout] 33 | ||                     e.connection_id)
[INFO] [stdout]    | ||                                    ^
[INFO] [stdout]    | ||                                    |
[INFO] [stdout]    | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 34 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |    ...   | e | {
[INFO] [stdout]    |  ______________-
[INFO] [stdout] 42 | |/ ...       format_args!("consensus height claimed by the client on the other party is too advanced: {0} (host chain current height...
[INFO] [stdout] 43 | || ...           e.target_height, e.currrent_height)
[INFO] [stdout]    | ||                                                 ^
[INFO] [stdout]    | ||                                                 |
[INFO] [stdout]    | ||_________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                                  creates a temporary value which is freed while still in use
[INFO] [stdout] 44 | |  ...   },
[INFO] [stdout]    | |________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |    ...   | e | {
[INFO] [stdout]    |  ______________-
[INFO] [stdout] 52 | |/ ...       format_args!("consensus height claimed by the client on the other party has been pruned: {0} (host chain oldest height:...
[INFO] [stdout] 53 | || ...           e.target_height, e.oldest_height)
[INFO] [stdout]    | ||                                               ^
[INFO] [stdout]    | ||                                               |
[INFO] [stdout]    | ||_______________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                                creates a temporary value which is freed while still in use
[INFO] [stdout] 54 | |  ...   },
[INFO] [stdout]    | |________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics03_connection/error.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |             | e | { format_args!("version \"{}\" not supported", e.version) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                     |
[INFO] [stdout]    |                   | |                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 102 | |/                 format_args!("no connection was found for the previous connection id provided {0}",
[INFO] [stdout] 103 | ||                     e.connection_id)
[INFO] [stdout]     | ||                                    ^
[INFO] [stdout]     | ||                                    |
[INFO] [stdout]     | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 104 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 114 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 115 | |/                 format_args!("counterparty chosen connection id {0} is different than the connection id {1}",
[INFO] [stdout] 116 | ||                     e.connection_id, e.counterparty_connection_id)
[INFO] [stdout]     | ||                                                                  ^
[INFO] [stdout]     | ||                                                                  |
[INFO] [stdout]     | ||__________________________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 117 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 132 | |/                 format_args!("the client id does not match any client state: {0}",
[INFO] [stdout] 133 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 134 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 142 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 143 | |/                 format_args!("the consensus proof verification failed (height: {0})",
[INFO] [stdout] 144 | ||                     e.height)
[INFO] [stdout]     | ||                             ^
[INFO] [stdout]     | ||                             |
[INFO] [stdout]     | ||_____________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                              creates a temporary value which is freed while still in use
[INFO] [stdout] 145 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 154 | |/                 format_args!("the client state proof verification failed for client id {0}",
[INFO] [stdout] 155 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 156 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics03_connection/error.rs:166:21
[INFO] [stdout]     |
[INFO] [stdout] 166 |             | e | { format_args!("event attribute value for key {} is not valid UTF-8", e.key) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics26_routing/error.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |             | e | { format_args!("unknown type URL {0}", e.url) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                         |
[INFO] [stdout]    |                   | |                                         temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |             | e | { format_args!("missing event key {}", e.key) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                         |
[INFO] [stdout]    |                   | |                                         temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             | e | { format_args!("error decoding hex-encoded packet data: {}", e.data) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                |
[INFO] [stdout]    |                   | |                                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |             | e | { format_args!("error decoding hex-encoded packet ack: {}", e.ack) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                              |
[INFO] [stdout]    |                   | |                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |             | e | { format_args!("incorrect event type: {}", e.event) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                               |
[INFO] [stdout]    |                   | |                                               temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |             | e | { format_args!("module event cannot use core event types: {:?}", e.event) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                     |
[INFO] [stdout]    |                   | |                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             |e| { format_args!("Unable to parse abci event type '{}' into IbcEvent", e.event_type)}
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
[INFO] [stdout]    |                 | |                                                                              |
[INFO] [stdout]    |                 | |                                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |             | e | { format_args!("channel state unknown: {}", e.state) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                |
[INFO] [stdout]    |                   | |                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |             | e | { format_args!("flush status unknown: {}", e.state) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                               |
[INFO] [stdout]    |                   | |                                               temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |             | e | { format_args!("flush status unknown: {}", e.type_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                 |
[INFO] [stdout]    |                   | |                                                 temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             | e | { format_args!("channel order type unknown: {}", e.type_id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                       |
[INFO] [stdout]    |                   | |                                                       temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 48 | |/                 format_args!(
[INFO] [stdout] 49 | ||                     "invalid connection hops length: expected {0}; actual {1}",
[INFO] [stdout] 50 | ||                     e.expected, e.actual)
[INFO] [stdout]    | ||                                         ^
[INFO] [stdout]    | ||                                         |
[INFO] [stdout]    | ||_________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 51 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 56 | |/                 format_args!(
[INFO] [stdout] 57 | ||                     "packet destination port {} and channel {} doesn't match the counterparty's port/channel",
[INFO] [stdout] 58 | ||                     e.port_id, e.channel_id)
[INFO] [stdout]    | ||                                            ^
[INFO] [stdout]    | ||                                            |
[INFO] [stdout]    | ||____________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                             creates a temporary value which is freed while still in use
[INFO] [stdout] 59 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |             | e | { format_args!("invalid flush_status value: {}", e.flush_status) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                            |
[INFO] [stdout]    |                   | |                                                            temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics04_channel/error.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |            | e | {
[INFO] [stdout]    |  ________________-
[INFO] [stdout] 84 | |/                 format_args!("Missing sequence number for receiving packets on port {0} and channel {1}",
[INFO] [stdout] 85 | ||                              e.port_id,
[INFO] [stdout] 86 | ||                              e.channel_id)
[INFO] [stdout]    | ||                                          ^
[INFO] [stdout]    | ||                                          |
[INFO] [stdout]    | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 87 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 150 | |/                 format_args!(
[INFO] [stdout] 151 | ||                     "the channel end ({0}, {1}) does not exist",
[INFO] [stdout] 152 | ||                     e.port_id, e.channel_id)
[INFO] [stdout]     | ||                                            ^
[INFO] [stdout]     | ||                                            |
[INFO] [stdout]     | ||____________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                             creates a temporary value which is freed while still in use
[INFO] [stdout] 153 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ibc-relayer-types` (lib) due to 136 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 158 | |/                 format_args!(
[INFO] [stdout] 159 | ||                     "a different channel exists (was initialized) already for the same channel identifier {0}",
[INFO] [stdout] 160 | ||                     e.channel_id)
[INFO] [stdout]     | ||                                 ^
[INFO] [stdout]     | ||                                 |
[INFO] [stdout]     | ||_________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                  creates a temporary value which is freed while still in use
[INFO] [stdout] 161 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 166 | |/                 format_args!(
[INFO] [stdout] 167 | ||                     "the associated connection {0} is not OPEN",
[INFO] [stdout] 168 | ||                     e.connection_id)
[INFO] [stdout]     | ||                                    ^
[INFO] [stdout]     | ||                                    |
[INFO] [stdout]     | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 169 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 174 | |/                 format_args!(
[INFO] [stdout] 175 | ||                     "Undefined counterparty connection for {0}",
[INFO] [stdout] 176 | ||                     e.connection_id)
[INFO] [stdout]     | ||                                    ^
[INFO] [stdout]     | ||                                    |
[INFO] [stdout]     | ||____________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                     creates a temporary value which is freed while still in use
[INFO] [stdout] 177 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 183 | |/                 format_args!(
[INFO] [stdout] 184 | ||                     "Verification fails for the packet with the sequence number {0}",
[INFO] [stdout] 185 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 186 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 200 | |/                 format_args!(
[INFO] [stdout] 201 | ||                     "Packet acknowledgement exists for the packet with the sequence {0}",
[INFO] [stdout] 202 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 203 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 208 | |/                 format_args!("Missing sequence number for sending packets on port {0} and channel {1}",
[INFO] [stdout] 209 | ||                              e.port_id,
[INFO] [stdout] 210 | ||                              e.channel_id)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 211 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 217 | |/                 format_args!(
[INFO] [stdout] 218 | ||                     "String {0} cannot be converted to packet sequence",
[INFO] [stdout] 219 | ||                     e.value)
[INFO] [stdout]     | ||                            ^
[INFO] [stdout]     | ||                            |
[INFO] [stdout]     | ||____________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                             creates a temporary value which is freed while still in use
[INFO] [stdout] 220 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:228:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 228 | |/                 format_args!(
[INFO] [stdout] 229 | ||                     "Invalid packet sequence {0} ≠ next send sequence {1}",
[INFO] [stdout] 230 | ||                     e.given_sequence, e.next_sequence)
[INFO] [stdout]     | ||                                                      ^
[INFO] [stdout]     | ||                                                      |
[INFO] [stdout]     | ||______________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                       creates a temporary value which is freed while still in use
[INFO] [stdout] 231 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 238 | |                 format_args!("Invalid packet data, not a valid hex-encoded string: {}", e.data)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                             |
[INFO] [stdout]     | |                 |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 239 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |               | e | {
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 246 | |                 format_args!("Invalid packet ack, not a valid hex-encoded string: {}", e.ack)
[INFO] [stdout]     | |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     | |                 |                                                                           |
[INFO] [stdout]     | |                 |                                                                           temporary value is freed at the end of this statement
[INFO] [stdout]     | |                 creates a temporary value which is freed while still in use
[INFO] [stdout] 247 | |             },
[INFO] [stdout]     | |_____________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 255 | |/                 format_args!(
[INFO] [stdout] 256 | ||                     "Receiving chain block height {0} >= packet timeout height {1}",
[INFO] [stdout] 257 | ||                     e.chain_height, e.timeout_height)
[INFO] [stdout]     | ||                                                     ^
[INFO] [stdout]     | ||                                                     |
[INFO] [stdout]     | ||_____________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                      creates a temporary value which is freed while still in use
[INFO] [stdout] 258 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 266 | |/                 format_args!(
[INFO] [stdout] 267 | ||                     "Packet timeout height {0} > chain height {1}",
[INFO] [stdout] 268 | ||                      e.timeout_height, e.chain_height)
[INFO] [stdout]     | ||                                                      ^
[INFO] [stdout]     | ||                                                      |
[INFO] [stdout]     | ||______________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                       creates a temporary value which is freed while still in use
[INFO] [stdout] 269 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 277 | |/                 format_args!(
[INFO] [stdout] 278 | ||                     "Packet timeout timestamp {0} > chain timestamp {1}",
[INFO] [stdout] 279 | ||                      e.timeout_timestamp, e.chain_timestamp)
[INFO] [stdout]     | ||                                                            ^
[INFO] [stdout]     | ||                                                            |
[INFO] [stdout]     | ||____________________________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                                             creates a temporary value which is freed while still in use
[INFO] [stdout] 280 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 294 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 295 | |/                 format_args!(
[INFO] [stdout] 296 | ||                     "Client with id {0} is frozen",
[INFO] [stdout] 297 | ||                     e.client_id)
[INFO] [stdout]     | ||                                ^
[INFO] [stdout]     | ||                                |
[INFO] [stdout]     | ||________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                 creates a temporary value which is freed while still in use
[INFO] [stdout] 298 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 306 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 307 | |/                 format_args!(
[INFO] [stdout] 308 | ||                     "Channel {0} should not be state {1}",
[INFO] [stdout] 309 | ||                     e.channel_id, e.state)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 310 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:315:17
[INFO] [stdout]     |
[INFO] [stdout] 314 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 315 | |/                 format_args!(
[INFO] [stdout] 316 | ||                     "Channel {0} is Closed",
[INFO] [stdout] 317 | ||                     e.channel_id)
[INFO] [stdout]     | ||                                 ^
[INFO] [stdout]     | ||                                 |
[INFO] [stdout]     | ||_________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                  creates a temporary value which is freed while still in use
[INFO] [stdout] 318 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 325 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 326 | |/                 format_args!(
[INFO] [stdout] 327 | ||                     "Commitment for the packet {0} not found",
[INFO] [stdout] 328 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 329 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 334 | |/                 format_args!(
[INFO] [stdout] 335 | ||                     "The stored commitment of the packet {0} is incorrect",
[INFO] [stdout] 336 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 337 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:342:17
[INFO] [stdout]     |
[INFO] [stdout] 341 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 342 | |/                 format_args!(
[INFO] [stdout] 343 | ||                     "Receipt for the packet {0} not found",
[INFO] [stdout] 344 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 345 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:350:17
[INFO] [stdout]     |
[INFO] [stdout] 349 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 350 | |/                 format_args!(
[INFO] [stdout] 351 | ||                     "Acknowledgment for the packet {0} not found",
[INFO] [stdout] 352 | ||                     e.sequence)
[INFO] [stdout]     | ||                               ^
[INFO] [stdout]     | ||                               |
[INFO] [stdout]     | ||_______________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                creates a temporary value which is freed while still in use
[INFO] [stdout] 353 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 357 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 358 | |/                 format_args!("Missing sequence number for ack packets on port {0} and channel {1}",
[INFO] [stdout] 359 | ||                              e.port_id,
[INFO] [stdout] 360 | ||                              e.channel_id)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 361 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:369:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 369 | |/                 format_args!(
[INFO] [stdout] 370 | ||                     "Processed time for the client {0} at height {1} not found",
[INFO] [stdout] 371 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 372 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:380:17
[INFO] [stdout]     |
[INFO] [stdout] 379 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 380 | |/                 format_args!(
[INFO] [stdout] 381 | ||                     "Processed height for the client {0} at height {1} not found",
[INFO] [stdout] 382 | ||                     e.client_id, e.height)
[INFO] [stdout]     | ||                                          ^
[INFO] [stdout]     | ||                                          |
[INFO] [stdout]     | ||__________________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                           creates a temporary value which is freed while still in use
[INFO] [stdout] 383 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:394:17
[INFO] [stdout]     |
[INFO] [stdout] 393 |                | e | {
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 394 | |/                 format_args!(
[INFO] [stdout] 395 | ||                     "application module error: {0}",
[INFO] [stdout] 396 | ||                     e.description)
[INFO] [stdout]     | ||                                  ^
[INFO] [stdout]     | ||                                  |
[INFO] [stdout]     | ||__________________________________temporary value is freed at the end of this statement
[INFO] [stdout]     | |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 397 | |              },
[INFO] [stdout]     | |______________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:401:21
[INFO] [stdout]     |
[INFO] [stdout] 401 |             | e | { format_args!("Failed to convert abci event to IbcEvent: {}", e.abci_event)},
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/error.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |             | e | { format_args!("event attribute value for key {} is not valid UTF-8", e.key) },
[INFO] [stdout]     |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                   | |                                                                        |
[INFO] [stdout]     |                   | |                                                                        temporary value is freed at the end of this statement
[INFO] [stdout]     |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/timeout.rs:244:19
[INFO] [stdout]     |
[INFO] [stdout] 244 |             |e| { format_args!("cannot convert into a `Timestamp` type from string {0}", e.timestamp) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                                                                 |
[INFO] [stdout]     |                 | |                                                                                 temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> crates/relayer-types/src/core/ics04_channel/timeout.rs:248:19
[INFO] [stdout]     |
[INFO] [stdout] 248 |             |e| { format_args!("invalid timeout {0}", e.timeout) },
[INFO] [stdout]     |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]     |                 | |                                            |
[INFO] [stdout]     |                 | |                                            temporary value is freed at the end of this statement
[INFO] [stdout]     |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                 borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]  --> crates/relayer-types/src/core/ics24_host/error.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |             | e | { format_args!("identifier {0} cannot contain separator '/'", e.id) },
[INFO] [stdout]   |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]   |                   | |                                                               |
[INFO] [stdout]   |                   | |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]   |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]   |                   borrow later used here
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics24_host/error.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                | e | {
[INFO] [stdout]    |  ____________________-
[INFO] [stdout] 19 | |/                 format_args!(
[INFO] [stdout] 20 | ||                     "identifier {0} has invalid length {1} must be between {2}-{3} characters",
[INFO] [stdout] 21 | ||                     e.id, e.length, e.min, e.max
[INFO] [stdout] 22 | ||                 )
[INFO] [stdout]    | ||                 ^
[INFO] [stdout]    | ||                 |
[INFO] [stdout]    | ||_________________temporary value is freed at the end of this statement
[INFO] [stdout]    | |                  creates a temporary value which is freed while still in use
[INFO] [stdout] 23 | |              },
[INFO] [stdout]    | |______________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics24_host/error.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |    ...   | e | {
[INFO] [stdout]    |  ______________-
[INFO] [stdout] 28 | |/ ...       format_args!(
[INFO] [stdout] 29 | || ...           "identifier {0} must only contain alphanumeric characters or `.`, `_`, `+`, `-`, `#`, - `[`, `]`, `<`, `>`", e.id
[INFO] [stdout] 30 | || ...       )
[INFO] [stdout]    | ||           ^
[INFO] [stdout]    | ||           |
[INFO] [stdout]    | ||___________temporary value is freed at the end of this statement
[INFO] [stdout]    | |            creates a temporary value which is freed while still in use
[INFO] [stdout] 31 | |  ...   },
[INFO] [stdout]    | |________- borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics24_host/error.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |             | e | { format_args!("chain identifiers are expected to be in epoch format {0}", e.id) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                            |
[INFO] [stdout]    |                   | |                                                                            temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/core/ics26_routing/error.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |             | e | { format_args!("unknown type URL {0}", e.url) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                         |
[INFO] [stdout]    |                   | |                                         temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |             | e | { format_args!("missing event key {}", e.key) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                         |
[INFO] [stdout]    |                   | |                                         temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             | e | { format_args!("error decoding hex-encoded packet data: {}", e.data) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                |
[INFO] [stdout]    |                   | |                                                                temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |             | e | { format_args!("error decoding hex-encoded packet ack: {}", e.ack) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                              |
[INFO] [stdout]    |                   | |                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |             | e | { format_args!("incorrect event type: {}", e.event) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                               |
[INFO] [stdout]    |                   | |                                               temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |             | e | { format_args!("module event cannot use core event types: {:?}", e.event) },
[INFO] [stdout]    |                   --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---
[INFO] [stdout]    |                   | |                                                                     |
[INFO] [stdout]    |                   | |                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]    |                   | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                   borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/relayer-types/src/events.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             |e| { format_args!("Unable to parse abci event type '{}' into IbcEvent", e.event_type)}
[INFO] [stdout]    |                 --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--
[INFO] [stdout]    |                 | |                                                                              |
[INFO] [stdout]    |                 | |                                                                              temporary value is freed at the end of this statement
[INFO] [stdout]    |                 | creates a temporary value which is freed while still in use
[INFO] [stdout]    |                 borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ibc-relayer-types` (lib test) due to 136 previous errors
[INFO] running `Command { std: "docker" "inspect" "98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2", kill_on_drop: false }`
[INFO] [stdout] 98a43caa343ab948743f7680830b64df87dd20c64d531e8b2aedf52820a1a8a2
